0、MainWindow工程
新建工程的时候,选择基类为MainWindow。
MainWindow的形式指的是带有菜单栏、工具栏、状态栏、核心部件、浮动窗口等。
此时的窗口默认会很小,resize一下。
1、菜单栏
最多只有一个菜单栏。
1.1、创建菜单栏
QMenuBar * menubar = menuBar();
setMenuBar(menubar);
1.2、添加具体菜单
照着QT自己写的,前面两个“文件”和“编辑”要添加真正的项,所以要用指针接收一下,后面只是凑数的。
QMenu * menu_file = menubar->addMenu("文件(F)");
QMenu * menu_edit = menubar->addMenu("编辑(E)");
menubar->addMenu("构建(B)");
menubar->addMenu("调试(D)");
menubar->addMenu("Analyze");
menubar->addMenu("工具(T)");
menubar->addMenu("控件(W)");
menubar->addMenu("帮助(H)");
1.3、添加具体菜单的项
用addAction就可以添加项,下面在工具栏中用到“退出”,用QAction指针接收,其余的直接写。
//添加菜单-“文件”的项
menu_file->addAction("新建文件或项目(N)... Ctrl+N");
menu_file->addAction("打开文件或项目(O)... Ctrl+O");
menu_file->addAction("打开文件或项目(O)用...");
//添加项之间的分隔符
menu_file->addSeparator();
menu_file->addAction("打印(P)");
menu_file->addSeparator();
QAction *act_exit = menu_file->addAction("退出(X)");
2、工具栏
可以有多个工具栏。
2.1、创建工具栏
QToolBar * toolbar = new QToolBar(this);
addToolBar(Qt::LeftToolBarArea,toolbar); // 设置工具栏默认区域,左
2.2、添加工具栏的项
toolbar->addAction("欢迎");
toolbar->addSeparator();
toolbar->addAction("编辑");
toolbar->addAction("设计");
toolbar->addAction("Debug");
//与菜单栏中项目共用“退出”,点击这两处任意一处是等效的
toolbar->addAction(act_exit);
2.3、控制工具栏的停靠
- 只允许左右停靠
toolbar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);
- 不允许浮动在窗口之上
toolbar->setFloatable(false);
- 不允许移动
toolbar->setMovable(false);
3、核心部件
最多有一个核心部件。
核心部件有多种形式,比如创建一个文本框,设置为核心部件。
QTextEdit * txt = new QTextEdit(this); //文本
setCentralWidget(txt); //设置核心部件
4、状态栏
最多有一个状态栏。
4.1、创建状态栏
QStatusBar * stabar = statusBar();
setStatusBar(stabar);
4.2、添加状态栏的标签
QLabel * label_1 = new QLabel("1 问题 ",this);
QLabel * label_2 = new QLabel("2 Search Results ",this);
stabar->addWidget(label_1);
stabar->addPermanentWidget(label_2); //放在右侧
5、浮动窗口
可以有多个浮动窗口。
5.1、创建浮动窗口
QDockWidget * dock = new QDockWidget("浮动",this);
addDockWidget(Qt::BottomDockWidgetArea,dock);
5.2、控制后期只停靠在下方
dock->setAllowedAreas(Qt::BottomDockWidgetArea);