我想setLayout()在我的主窗口中设置我的布局(使用).它在发布时没有显示任何内容:
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0)
{
QVBoxLayout *vBoxLayout = new QVBoxLayout;
{
QPushButton *pushButton = new QPushButton(tr("A button"));
vBoxLayout->addWidget(pushButton);
}
setLayout(vBoxLayout);
}
};
Run Code Online (Sandbox Code Playgroud)
Cor*_*ein 26
您需要将最后两行代码更改为以下内容:
QWidget *widget = new QWidget();
widget->setLayout(VBoxLayout);
setCentralWidget(widget);
//VBoxLayout->addWidget(new QLayout);
//setLayout(VBoxLayout);
Run Code Online (Sandbox Code Playgroud)
这QMainWindow是一个特例.您可以通过将布局放在新QWidget窗口中然后将其设置为中央窗口小部件来设置此窗口小部件的内容.
也看到这个答案.
| 归档时间: |
|
| 查看次数: |
13096 次 |
| 最近记录: |