[问题]关于qt的一个疑问
发表于 : 2007-09-09 22:55
最近学qt,能小编一点东西了,忽然今天发现一些事情,敬请高手解答
这样的代码:
class anoPushButton:public QWidget
{
Q_OBJECT
public:
anoPushButton():QWidget(), button("Hello World", this){
QWidget::setGeometry(QRect(0,0, 100,50));
button.setGeometry(QRect(10,10, 80, 30));
connect(&button, SIGNAL(clicked()), this, SLOT(OnClk()));
}
private:
QPushButton button;
public slots:
void OnClk()
{
emit clk();
}
void show() //!!!!!!!!!!!!!!!!!!!!
{
QWidget::show();
button.show();
}
signals:
void clk();
};
后来我想这个show函数不要行不行,注释掉后编译得到一样的结果,我就不明白了,为什么它能够自己自动调用QPushButton的show呢?是不是在注册button的那个parent的指针可能调用了像这样的一个parent->AddWidgetItem的函数来用一个表保存自己的widget,在show的时候遍历这个表来逐个调用其show函数呢?
这样的代码:
class anoPushButton:public QWidget
{
Q_OBJECT
public:
anoPushButton():QWidget(), button("Hello World", this){
QWidget::setGeometry(QRect(0,0, 100,50));
button.setGeometry(QRect(10,10, 80, 30));
connect(&button, SIGNAL(clicked()), this, SLOT(OnClk()));
}
private:
QPushButton button;
public slots:
void OnClk()
{
emit clk();
}
void show() //!!!!!!!!!!!!!!!!!!!!
{
QWidget::show();
button.show();
}
signals:
void clk();
};
后来我想这个show函数不要行不行,注释掉后编译得到一样的结果,我就不明白了,为什么它能够自己自动调用QPushButton的show呢?是不是在注册button的那个parent的指针可能调用了像这样的一个parent->AddWidgetItem的函数来用一个表保存自己的widget,在show的时候遍历这个表来逐个调用其show函数呢?