描述
就目前的应用程序而言,一般包含菜单栏、工具栏、状态栏、中央区域等。
qt窗口部件类图如下:

一个主窗口提供了一个构建应用程序用户界面的框架。
Qt有QMainWindow及其相关类来管理主窗口。
QMainWindow有自己的布局,可以向其中添加QToolBars、QDockWidgets、QMenuBar和QStatusBar。布局有一个中心区域,可以被任何类型的小部件占用。
可以看到以下布局的图像。

菜单栏
菜单栏(QMenu)是一个包含下拉菜单的列表,由QAction动作类实现。
Qt在QMenu中实现菜单,而QMainWindow将它们保留在QMenuBar中。将QActions添加到菜单中,它们会显示为菜单项。
可以通过调用menuBar()来向主窗口的菜单栏添加新菜单,该函数返回窗口的QMenuBar,然后使用QMenuBar::addMenu()添加菜单。
QMainWindow带有默认的菜单栏,但也可以使用setMenuBar()自己设置一个菜单栏。如果希望实现自定义菜单栏(即不使用QMenuBar小部件),则可以使用setMenuWidget()进行设置。
以下是创建菜单的示例:
void MainWindow::createMenus()
{
fileMenu = menuBar()->addMenu(tr("&File"));
fileMenu->addAction(newAct);
fileMenu->addAction(openAct);
fileMenu->addAction(saveAct);
}
createPopupMenu()函数在主窗口接收上下文菜单事件时创建弹出菜单。默认实现会生成一个包含停靠窗口和工具栏的可选操作的菜单。可以为自定义菜单重新实现createPopupMenu()。
可以在设计师直接输入菜单

可以在动作区添加动作,可以添加图标,动作可以复用,在菜单栏和工具栏添加。

本文详细介绍了在Qt中如何构建应用程序的用户界面,包括菜单栏、工具栏、状态栏、中央区域和DockWidgets的使用,以及自定义菜单和QWidgetAction的创建和集成。
最低0.47元/天 解锁文章
3196

被折叠的 条评论
为什么被折叠?



