Nar*_*rek 7 layout qt qt4 qwidget
让我们考虑一下我们有一个包含其他小部件和布局QWidget
的QLayout
命名general_layout
.general_layout
被设置为这样的QWidget
布局:
setLayout(general_layout)
Run Code Online (Sandbox Code Playgroud)
现在我应该改变内容QWidget
.我怎样才能做到这一点?我试图删除并创建一个新的布局,QWidget
并将新布局设置为布局QWidget
,但无法成功完成我的意图.
这是我的代码:
delete general_layout;
general_layout = new QHBoxLayout;
general_layout->addLayout(some_layout);
myQWidget->setLayout(general_layout);
Run Code Online (Sandbox Code Playgroud)
Job*_*Job 14
问题是删除布局时不会破坏布局的小部件.这导致myQWidget的所有子窗口小部件仍然存在,无需布局.
解决方案很简单:添加一个
qDeleteAll(myQWidget->children());
Run Code Online (Sandbox Code Playgroud)
后
delete general_layout;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10404 次 |
最近记录: |