QT开发中文网

界面显示在主界面里面

如果你希望在主界面内部显示其他窗口或部件,可以使用布局管理器来实现。下面是一个示例代码:

#include <QtWidgets>

class MainWindow : public QMainWindow {
public:
    MainWindow() {
        // 创建菜单栏
        QMenuBar *menuBar = new QMenuBar(this);
        
        // 创建菜单
        QMenu *viewMenu = menuBar->addMenu("View");
        
        // 创建动作并连接槽函数
        QAction *showWidgetAction = new QAction("Show Widget", this);
        connect(showWidgetAction, &QAction::triggered, this, &MainWindow::showWidget);
        
        QAction *hideWidgetAction = new QAction("Hide Widget", this);
        connect(hideWidgetAction, &QAction::triggered, this, &MainWindow::hideWidget);
        
        // 将动作添加到菜单中
        viewMenu->addAction(showWidgetAction);
        viewMenu->addAction(hideWidgetAction);
        
        // 设置菜单栏
        setMenuBar(menuBar);
        
        // 创建一个测试窗口部件
        m_widget = new QWidget(this);

		// 创建垂直布局管理器,并将部件添加进去
		QVBoxLayout *layout = new QVBoxLayout(m_widget);
		
		QLabel *label = new QLabel("Hello World", m_widget);  // 添加一个标签部件
		
		layout->addWidget(label);  // 将标签添加到布局中
		
		m_widget->setLayout(layout);  // 设置部件的布局

		setCentralWidget(m_widget);  // 将该部件设置为主界面的中央部分
        
    }
    
private slots:
    void showWidget() {
      m_widget->show();
    }
    
    void hideWidget() {
      m_widget->hide();
    }
    
private:
    QWidget* m_widget;
};

int main(int argc, char **argv) {
  QApplication app(argc, argv);

  MainWindow mainWindow;
  mainWindow.show();

  return app.exec();
}

在这个示例中,我们创建了一个标签部件(QLabel)并将其添加到一个垂直布局管理器(QVBoxLayout)中。然后,我们将这个部件设置为主界面的中央部分,通过setCentralWidget()函数实现。

你可以根据需要,在布局管理器中添加其他需要显示的部件,并通过布局管理器来控制它们的位置和排列方式。


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

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8999

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?