在Qt中,如果使用了mainwindow,然后使用布局,比如QHBoxLayoutQVBoxLayout等,编译运行会发现提示有默认的布局,然后你的布局就会不生效。
这时的解决方案就是:你在mainwindow里面new一个windget,然后将此widget设置为中心控件,之后的控件都添加在此widget里面,布局也设置在这个widget里面,这样就可以实现布局了。如以下代码:

        QWidget *cenWidget = new QWidget(this);
        setCentralWidget(cenWidget);

        QPushButton *bt1 = new QPushButton("bt1", cenWidget);
        QLabel *label1 = new QLabel("label1", cenWidget);

        QHBoxLayout *layout = new QLayout;
        layout->addWidget(bt1);
        layout->addWidget(label1);

        cenWidget->setLayout(layout);
最后修改:2019 年 07 月 05 日
如果觉得我的文章对你有用,请随意赞赏