QT开发中文网

如果一定要用QWidget 该用什么函数代替setCentralWidget

如果你一定要使用 QWidget 而不是 QMainWindow,那么你可以直接将 QWidget 设置为主窗口的内容,而不需要调用 setCentralWidget。在这种情况下,可以使用 setLayout() 方法来设置布局,并直接添加子部件。

示例代码

下面是一个简单的示例,展示了如何在继承自 QWidget 的类中设置布局和部件:

#include <QWidget>
#include <QVBoxLayout>
#include < QPushButton>

class ViewProgress : public QWidget {
    Q_OBJECT

public:
    explicit ViewProgress(QWidget *parent = nullptr) : QWidget(parent) {
        // 创建一个垂直布局
        QVBoxLayout *layout = new QVBoxLayout(this);

        // 创建并添加子部件
        QPushButton *button1 = new QPushButton("Button 1", this);
        layout->addWidget(button1);

        QPushButton *button2 = new QPushButton("Button 2", this);
        layout->addWidget(button2);

        // 将布局应用到当前的 QWidget
        setLayout(layout);
    }
};

注意事项

  • 在这个示例中,我们创建了一个新的 QVBoxLayout,并将其设置为当前 QWidget 的布局。
  • 然后,通过调用 addWidget() 方法将按钮等子部件添加到布局中。

如果你确实需要更多复杂的结构(例如菜单栏、工具栏等),那么使用 QMainWindow 会更合适。如果只是需要简单的界面,那么使用 QWidget 和合适的布局就足够了。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 注意事项
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=13169

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?