目录
1.QMainWindow
1.1菜单栏
1.2工具栏
1.3状态栏
1.4铆接部件和核心部件
1.4.1铆接部件
1.4.2核心部件
1.QMainWindow
1.1菜单栏
为用户提供主窗口程序的类。一个主窗口最多只有一个菜单栏,位于主窗口顶部,标题栏下面。
创建步骤:
- 创建菜单栏(QMenuBar)
- 将菜单栏设置到窗口中
- 菜单栏中添加菜单(QMenu)
- 菜单中添加菜单项(QAction)
- 菜单项(QAction)中可以加菜单(QMenu)
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//创建菜单栏,只能有一个QMenuBar* bar=menuBar();//将菜单栏设置到窗口中this->setMenuBar(bar);//添加菜单QMenu* file=bar->addMenu("文件");QMenu* edit=bar->addMenu("编辑");//添加菜单项QAction* newBuild=file->addAction("新建");file->addSeparator();QAction* open=file->addAction("打开");QMenu* subMenu=new QMenu;subMenu->addAction("子菜单1");subMenu->addAction("子菜单2");newBuild->setMenu(subMenu);
}
1.2工具栏
主窗口的工具栏可以有多个。
创建步骤:
- 创建工具栏(QToolBar)
- 将工具栏添加到窗口中
- 设置允许停靠的区域
- 设置是否可以浮动/移动
- 添加工具按钮(addAction)
//创建工具栏(QToolBar)QToolBar* toolBar=new QToolBar;//将工具栏添加到窗口中this->addToolBar(Qt::LeftToolBarArea,toolBar);//设置允许停靠的区域toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//设置是否可以浮动toolBar->setFloatable(false);toolBar->setMovable(false);//添加工具按钮toolBar->addAction(newBuild);toolBar->addSeparator();toolBar->addAction("工具栏");
1.3状态栏
主窗口的状态栏最多只能有一个。
状态栏中添加文本:
创建步骤:
- 创建状态栏
- 将状态栏设置到窗口中
- 创建文本标签控件
- 将文本标签控件添加到状态栏中
//创建状态栏QStatusBar* Bar=statusBar();//将状态栏设置到窗口中this->setStatusBar(Bar);//创建文本标签控件QLabel* lable1=new QLabel("左侧信息1",this);QLabel* lable2=new QLabel("右侧信息1",this);QLabel* lable3=new QLabel("左侧信息2",this);//自左向右设置Bar->addWidget(lable1);//自右向左设置Bar->addPermanentWidget(lable2);//插入设置Bar->insertWidget(0,lable3);
1.4铆接部件和核心部件
1.4.1铆接部件
主窗口的铆接部件也是浮动窗口,可以有多个。
铆接部件可以设置停靠区域:
注意:铆接部件的停靠依赖于核心部件
创建步骤:
- 创建铆接部件
- 将铆接部件添加到窗口中
- 设置停靠
1.4.2核心部件
除了菜单栏,工具栏,状态栏,铆接部件,中心显示的都可以作为核心部件,核心部件只有一个,但是可以由多个小控件组成。
//创建铆接部件QDockWidget* dock=new QDockWidget("浮动窗口",this);//将铆接部件添加到窗口中addDockWidget(Qt::BottomDockWidgetArea,dock);//设置停靠dock->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);QTextEdit* edit=new QTextEdit(this);setCentralWidget(edit);