我们知道,在创建Qt项目时有三个类供我们选择,一个是Widget就是空窗口,一个是QMainWindow就是带菜单栏的窗口,另一个是Dialog也就是对话框。
在我们选择QMainWindow后我们经常会创建菜单栏及工具栏等等
1:菜单栏
菜单栏最多只能有一个
1.1:创建菜单栏 QMenuBar *bar = MenuBar();
这时菜单栏虽然被创建出来,但是却并不会显示在主窗口中,我们要调用一个函数将其显示在主窗口中。
调用setMenuBar(bar);就可以将我们创建的菜单栏显示在主窗口中。
1.2菜单栏里创建菜单
例如QMenu *fileMenu = bar->addMenu(“文件”); 我们就可以创建出一个文件菜单。
而点击菜单我们想要显示菜单项时我们可以
QAction *newAction = fileMenu->addAction(“新建”);创建一个名为新建的菜单项。
1.3:在菜单项中间添加分隔符fileMenu->addSeparator();
2:工具栏
工具栏可以有多个
2.1:QToolBar *toolbar = new QToolBar(this);
addToolBar(toolBar);默认创建出来的工具栏是在上方
可以使用Qt中的枚举值将其设置在想要的地方
例如 addToolBar(Qt::LeftToolBarArea,toolBar);这时默认就是在左边出现。
但是我们发现,工具栏是可以拖动的,有上下左右四个方向,我们可以设置其允许的停靠位置,toolBar->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);这时就只能在左边和右边停靠。
在我们移动工具栏时 如果没有拖到上下左右固定的位置时,工具栏会浮动在窗口上,这时我们可以使用这个函数设置他,toolBar->setFloatable(false);函数的参数为true或者false来设置是否可以浮动。
工具栏中可以设置内容
toolBar->addAction(newAction);
toolBar->addSeparator();
toolBar->addAction(openAction);
工具栏中添加控件
QPushButton *btn = new QPushButton(“aa”,this);
toolBar->addWidget(btn);
3:状态栏
状态栏最多只能有一个
3.1 QStatusBar * stBar = statusBar();创建状态栏
3.2 将状态栏设置到窗口中 setStatusBar(stBar);
3.3 stBar->addWidget(label);放左侧信息
3.4 stBar->addPermanentWidget(label2); 放右侧信息
4: 铆接部件 浮动窗口
可以多个
4.1: QDockWidget *dockWidget = new QDockWidget(“浮动”,this);
4.2:addDockWidget(Qt::BottomDockWidgetArea,dockWidget);让浮动窗口显示在主窗口中
4.3: 设置后期停靠区域,只允许上下
dockWidget->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);
5:设置中心部件 只能有一个
QTextEdit *edit = new QTextEdit(this);
setCentralWidget(edit);