[Qt-interest] Basic question on QWidget
Abhishek Patil
abhishekworld at gmail.com
Fri Jan 1 16:57:35 CET 2010
Hi Nitin,
so what i get from your description ...
On Friday 01 Jan 2010 7:51:57 pm Nitin Mahajan wrote:
> HI!
>
> I have a basic question about QWidget.
>
> I have derived a class A from QWidget and class B also from QWidget.
>
> Class B has a HBoxLayout and has only QSlider object added to it.
>
> In class A's constructor When I crate a object of class B with parent as A,
> I can see only the slider and not the Widget B itself. I do a proper
> setGeometry for B, but it changes only the length of slider and does not
> show Widget B at all.
till here i came up with this program...
/*Test.h*/
#include <QWidget>
#include <QHBoxLayout>
#include <QSlider>
class A : public QWidget
{
public:
A(QWidget* parent=0);
~A();
};
class B : public QWidget
{
public:
B(QWidget* parent=0);
~B();
private:
QHBoxLayout* layout;
QSlider* slider;
};
/*Test.cpp*/
#include <QWidget>
#include "test.h"
class B;
A::A(QWidget* parent)
:QWidget(parent)
{
B* obj = new B(this);
}
A::~A(){}
B::B(QWidget* parent)
:QWidget(parent)
{
layout = new QHBoxLayout(this);
slider = new QSlider(this);
layout->addWidget(slider);
}
B::~B(){}
/* main.cpp*/
#include <QApplication>
#include "test.h"
int main(int argc, char** argv)
{
QApplication app(argc,argv);
A a;
a.show();
return app.exec();
}
in above program B is your custom widget which show "QSlider in QHBoxLayout "
so if you create an object of B in A ( B* obj = new B(this); ) where parent of
B is A obviously B will get inside A as the line B* obj = new B(this); in A
Constructor says paint B inside (A) (not the exact meaning but for your
understanding). so if u remove Slider form B, B is getting printed inside A but
theres nothing to show (as theres no slider or something else) so how you will
get something to see.
> When I remove Slider from B, I cannot see B's widget at all bing displayed
> as a Child of A.
>
> Now I created one more object directly from QWidget and set A as parent. It
> shows, where as if the child is derived from QWidget it does not show up
> at all. Can someone please give me some pointers towards whats the basic
> thing that is going wrong here?
could your please explain this part .... code will be more useful..
> regards
>
> -Nitin
>
>
>
>
> New Email names for you!
> Get the Email name you've always wanted on the new @ymail and
> @rocketmail. Hurry before someone else does!
> http://mail.promotions.yahoo.com/newdomains/aa/
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
enjoy
- Abhishek
More information about the Qt-interest-old
mailing list