QMainWindow中包含的部件

名称 类名 创建方法 可否为多个 添加到MainWindow(这里方法省略了this->) 可能的后续操作
菜单栏 QMenuBar   QMenuBar * menuBar = menuBar();
setMenuBar(menuBar );
//!先在菜单栏中添加菜单
QMenu * fileMenu = menuBar->addMenu("文件");
等价于:
QMenu * fileMenu = new QMenu("文件", this);
menuBar->addMenu(fileMenu);

//!然后再在菜单中添加菜单项
QAction * newAction = fileMenu->addAction("新建");
等价于:
QAction * newAction = new QAction("新建", this);
fileMenu->addAction(newAction);
工具栏 QToolBar
QToolBar *toolBar = new QToolBar(this);
 
addToolBar(Qt::TopToolBarArea, toolBar); 
  //!工具栏上直接添加动作
toolBar->addAction(newAction); 


//!设置移动相关的属性
  //设置后期只允许上下停靠
   toolBar->setAllowedAreas(Qt::TopToolBarArea | Qt::BottomToolBarArea);
   //设置浮动
   toolBar->setFloatable(false);
   //设置移动 (将其设置为false后,其他移动相关设置就失效了)
   toolBar->setMovable(false);
状态栏

QStatusBar

QStatusBar *stBar = statusBar(); 
 
setStatusBar(stBar);
 
//!放标签控件 
   QLabel *label = new QLabel("status info", this);
   //!需要这种方式可以把标签添加到状态栏中
   stBar->addWidget(label); //默认在最左侧
浮动窗口(铆接部件) QDockWidget  
QDockWidget *dockWidget = new QDockWidget("dock window",this);
 
 addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
 
   //设置后期区域,只允许上下
   dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
中心区域 如TextEdit  
QTextEdit *textEdit = new QTextEdit(this);
 
setCentralWidget(textEdit);
 
新战场:https://blog.csdn.net/Stephen___Qin
原文地址:https://www.cnblogs.com/Stephen-Qin/p/13069794.html