#include3.创建菜单栏:
注意所创建的菜单栏是空菜单栏,也就是说创建之后,菜单栏上没有任何内容。
//创建一个空菜单栏,菜单栏只能有一个 QMenuBar *bar1=menuBar(); //将菜单栏放置于所创建的窗口上 setMenuBar(bar1);4.在菜单栏上创建内容:
//创建菜单,添加内容到菜单栏上,FileMenu等为该菜单的返回值 QMenu *fileMenu=bar1->addMenu("File");5.创建菜单项
//创建菜单项 fileMenu->addAction("新建"); fileMenu->addAction("打开"); fileMenu->addAction("退出");6.添加分割线:
//添加分割线 fileMenu->addSeparator();7.创建工具栏:
//创建工具栏 QToolBar *bar2=new QToolBar(this); addToolBar(bar2);8.改变工具栏的位置;
工具栏位置表示:
如:将工具栏置于左侧:
//设定工具栏的位置,如左侧,第二个参数为被设置的工具栏 addToolBar(Qt::LeftToolBarArea,bar2);
点击工具栏上方 … 处可以拖拽工具栏
设置工具栏不可拖拽:
//设置工具栏固定不可移动 bar2->setMovable(false);
该代码设置后工具栏无法拖拽。
设置允许停靠工具栏的位置;
//设置只允许工具栏在设定位置停靠,|表示“或” bar2->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);9.设置窗口是否可浮动:
//设置是否不可浮动,setFloatable参数为bool类型,默认可浮动 bar2->setFloatable(false);
可浮动时在非边缘会变成以下格式:
用QAction定义菜单栏中的菜单项,在工具栏中可以展示菜单项
//创建窗口中的选项 QAction *newAction=windMenu->addAction("新建"); windMenu->addSeparator(); QAction *stopAction=windMenu->addAction("关闭"); windMenu->addSeparator(); QAction *manageAction=windMenu->addAction("管理"); windMenu->addSeparator(); ...... //在工具栏上添加内容 bar2->addAction(newAction); bar2->addAction(stopAction); bar2->addAction(manageAction);
在工具栏内添加控件:
用addWidget添加控件。
//在工具栏上添加控件 QPushButton *button1=new QPushButton("QP",this); bar2->addWidget(button1);11.设置状态栏
#include12.在状态栏上添加内容://状态栏头文件 ....... //创建状态栏,状态栏只能有一个 QStatusBar *statusBar1=new QStatusBar(); //将所创建的状态栏置于当前窗口上 setStatusBar(statusBar1);
添加标签控件:
//在状态栏上放置标签控件 QLabel *label1=new QLabel("2022年08月08日",this); statusBar1->addWidget(label1);
使用addWidget添加控件时显示在左侧:
使用PermannentWidget时显示在右侧:
//添加铆接部件(浮动窗口),可以有多个铆接部件 QDockWidget * dockWidget1=new QDockWidget("浮动窗口名称",this); addDockWidget(Qt::LeftDockWidgetArea,dockWidget1);
铆接部件放置的位置
所创建出的浮动窗口:
浮动窗口可以移动:
设置停靠区域:
//设置中心部件 QTextEdit *textEdit1=new QTextEdit(this); setCentralWidget(textEdit1);
所用总代码如下:
#include "mainwindow.h" #include#include #include #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { //重置窗口大小 resize(600,400); //创建一个空菜单栏 QMenuBar *bar1=menuBar(); //将菜单栏放置于所创建的窗口上 setMenuBar(bar1); //创建菜单,添加内容到菜单栏上,FileMenu等为该菜单的返回值 QMenu *fileMenu=bar1->addMenu("文件"); QMenu *edictMenu=bar1->addMenu("编辑"); QMenu *windMenu=bar1->addMenu("窗口"); //创建菜单项 fileMenu->addAction("新建"); //添加分割线 fileMenu->addSeparator(); fileMenu->addAction("打开"); fileMenu->addSeparator(); fileMenu->addAction("关闭"); fileMenu->addSeparator(); fileMenu->addAction("退出"); fileMenu->addSeparator(); edictMenu->addAction("粘贴"); edictMenu->addSeparator(); edictMenu->addAction("复制"); edictMenu->addSeparator(); edictMenu->addAction("全选"); edictMenu->addSeparator(); edictMenu->addAction("删除"); edictMenu->addSeparator(); edictMenu->addAction("撤销"); edictMenu->addSeparator(); //创建窗口中的选项 QAction *newAction=windMenu->addAction("新建"); windMenu->addSeparator(); QAction *stopAction=windMenu->addAction("关闭"); windMenu->addSeparator(); QAction *manageAction=windMenu->addAction("管理"); windMenu->addSeparator(); //创建工具栏,工具栏可以有多个 QToolBar *bar2=new QToolBar(this); //设定工具栏的位置,如左侧,第二个参数为被设置的工具栏 addToolBar(Qt::LeftToolBarArea,bar2); //设置工具栏固定不可移动 bar2->setMovable(false); //设置只允许工具栏在设定位置停靠,|表示“或” bar2->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea); //设置是否不可浮动,setFloatable参数为bool类型,默认可浮动 bar2->setFloatable(false); //在工具栏上添加内容 bar2->addAction(newAction); bar2->addAction(stopAction); bar2->addAction(manageAction); // //在工具栏上添加控件 // QPushButton *button1=new QPushButton("QP",this); // bar2->addWidget(button1); //创建状态栏,状态栏只能有一个 QStatusBar *statusBar1=new QStatusBar(); //将所创建的状态栏置于当前窗口上 setStatusBar(statusBar1); //在状态栏上放置标签控件 QLabel *label1=new QLabel("2022年08月08日",this); statusBar1->addWidget(label1); QLabel *label2=new QLabel("星期一,15:36",this); statusBar1->addPermanentWidget(label2); //添加铆接部件(浮动窗口),可以有多个铆接部件 QDockWidget * dockWidget1=new QDockWidget("浮动窗口名称",this); addDockWidget(Qt::LeftDockWidgetArea,dockWidget1); //设置铆接部件停靠位置 dockWidget1->setAllowedAreas(Qt::TopDockWidgetArea|Qt::LeftDockWidgetArea); //设置中心部件 QTextEdit *textEdit1=new QTextEdit(this); setCentralWidget(textEdit1); } MainWindow::~MainWindow() { }
本篇笔记为B站学习后总结,侵删。