Qt 窗口
第四章 Qt窗口
Qt 窗⼝ 是通过 QMainWindow类 来实现的。
QMainWindow 是⼀个为⽤⼾提供主窗⼝程序的类,继承⾃ QWidget 类,并且提供了⼀个预定义的布局。QMainWindow 包含 ⼀个菜单栏(menu bar)、多个⼯具栏(tool bars)、多个浮动窗⼝(铆接部件)(dock widgets)、⼀个状态栏(status bar) 和⼀个 中⼼部件(central widget),它是许多应⽤程序的基础,如⽂本编辑器,图⽚编辑器等。如下图为 QMainwindow 中 各组件所处的位置:
- 菜单栏
Qt 中的菜单栏是通过 QMenuBar 这个类来实现的。⼀个主窗⼝最多只有⼀个菜单栏。位于主窗⼝顶
部、主窗⼝标题栏下⾯。
菜单栏中包含菜单. 菜单中包含菜单项.
创建菜单栏
菜单栏的创建可以借助于 QMainWindow类 提供的 menuBar() 函数来实现。
使⽤ setMenuBar 把菜单栏放到窗⼝中.
QMenu:创建菜单
在 Qt 中,并没有专⻔的菜单项类,可以通过 QAction 类,抽象出公共的动作。如在菜单中添加菜
单项.
代码示例:
快捷键默认:Alt + 字母
QMenuBar *menu_bar = new QMenuBar(); // 创建菜单栏this->setMenuBar(menu_bar);QMenu *menu1 = new QMenu("文件 (&F)"); // 创建菜单 + 名称 + 快捷键QMenu *menu2 = new QMenu("帮助 (&T)"); // 创建菜单QMenu *menu3 = new QMenu("关于 (&L)"); // 创建菜单QMenu *menu4 = new QMenu("子菜单 (&A)"); // 创建子菜单QAction *action1 = new QAction("新建 (&N)"); // 创建菜单项QAction *action2 = new QAction("菜单项1 (&A)"); // 创建菜单项QAction *action3 = new QAction("菜单项2 (&B)"); // 创建菜单项QAction *action4 = new QAction("菜单项3 (&C)"); // 创建菜单项menu_bar->addMenu(menu1); // 添加菜单menu_bar->addMenu(menu2); // 添加菜单menu_bar->addMenu(menu3); // 添加菜单menu1->addAction(action1); // 添加菜单项menu1->addMenu(menu4); // 添加子菜单menu4->addAction(action2); // 添加菜单项menu4->addAction(action3); // 添加菜单项menu4->addAction(action4); // 添加菜单项