我想实现一个自定义窗口小部件的层次结构中添加自定义的QWidget: QMainWindow
- >QFrame
- >MyWidget
- >QFrame
- >MySubWidget
运行
这里是进myWidget类的样子:
class MyWidget : public QWidget {
Q_OBJECT
public:
MyWidget(QWidget *parent = 0, ...);
...
public slots:
void SlotFunction(int i);
...
private:
MySubWidget *sub_w;
QFrame *sub_frame;
...
}
如果我尝试在MyWidget构造函数中创建MySubWidget,则所有MySubWidget元素都按预期显示:
MyWidget::MyWidget (...) : QWidget(parent) {
...
sub_frame = new QFrame(this);
...
sub_w = new MySubWidget(sub_frame); // commented out on a runtime test
}
但是,如果我尝试在运行时添加subwidget,sub_frame保持空白。即信号反应:
void MyWidget::SlotFunction(int i) {
sub_w = new MySubWidget(sub_frame); // update, repaint, show and hide methods aren't helphul
}
是的,是的,是的。在询问之前,我_multi_checked槽连接并且所有框架都可见。 –