- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt Creator快速入门 第5章 应用程的序主窗口
《Qt Creator快速入门》第2版 第5章 应用程序主窗口 这一章开始接触应用程序主窗口的相关内容。对于日常见到的应用程序而言,它们中的许多都是基于主窗口的,主窗口中包含了菜单栏、工具栏、状态栏和中心区域等。本章会详细介绍主窗口的每一个部分,还会涉及到资源管理、富文本处理、拖放操作和文档打印等相关内容。 在Qt中提供了以QMainWindow类为核心的主窗口框架,它包含了众多相关的类: 主 要 内 容 5.1 主窗口框架(第1课时) 5.2 富文本处理(第2课时) 5.3 拖放操作(第3课时) 5.4 打印文档(第3课时) 5.5 小结(第3课时) 5.1 主窗口框架 菜单栏和工具栏 使用资源系统 中心部件 Dock部件 状态栏 自定义菜单 主窗口为建立应用程序用户界面提供了一个框架,Qt提供了QMainWindow和与其相关的一些类来进行主窗口的管理。QMainWindow类拥有自己的布局: 在设计器中给菜单栏、工具栏添加动作 在Qt Creator中双击项目中的.ui文件进入设计模式。 添加菜单,双击左上角的“在这里输入”,修改为“文件(F)”,这里要使用英文半角的括号,“F”被称为加速键,表明程序运行时,可以按下Alt+F键来激活该菜单。修改完成后,按下回车键,并在弹出的下拉菜单中,将第一项改为“新建文件(N)”并按下回车键。 这时可以看到在下面的Action编辑器中已经有了“新建文件”动作。 在这里用鼠标点击该动作,将其拖入菜单栏下面的工具栏中。 菜单栏 QMenuBar类提供了一个水平的菜单栏,在QMainWindow中可以直接获取它的默认存在的菜单栏,向其中添加QMenu类型的菜单对象,然后向弹出菜单中添加QAction类型的动作对象。 在QMenu中还提供了间隔器,可以在设计器中向添加菜单那样直接添加间隔器,或者在代码中使用addSeparator()函数来添加,它是一条水平线,可以将菜单分成几组,使得布局很整齐。 在应用程序中很多普通的命令都是通过菜单来实现的,而我们也希望能将这些菜单命令放到工具栏中,以方便使用。QAction就是这样一种命令动作,它可以同时放在菜单和工具栏中。一个QAction动作包含了一个图标,一个菜单显示文本,一个快捷键,一个状态栏显示文本,一个“What’s This?”显示文本和一个工具提示文本。这些都可以在构建QAction类对象时在构造函数中指定。 另外还可以设置QAction的checkable属性,如果指定这个动作的checkable为true,那么当选中这个菜单时就会在它的前面显示“√”之类的表示选中状态的符号,如果该菜单有图标,那么就会用线框将图标围住,用来表示该动作被选中了。 代码方式添加菜单 // 添加编辑菜单 QMenu *editMenu = ui-menuBar-addMenu(tr(编辑(E))); // 添加打开菜单 QAction *action_Open = editMenu-addAction( QIcon(“../images/open.png),tr(打开文件(O))); // 设置快捷键 action_Open-setShortcut(QKeySequence(Ctrl+O)); // 在工具栏中添加动作 ui-mainToolBar-addAction(action_Open); 工具栏 工具栏QToolBar类提供了一个包含了一组控件的可以移动的面板。在上面已经看到可以将QAction对象添加到工具栏中,它默认只是显示一个动作的图标,这个可以在QToolBar的属性栏中进行更改。 在设计器中可以查看QToolBar的属性栏,其中toolButtonStyle属性设置图标和相应文本的显示及其相对位置等;movabel属性设置状态栏是否可以移动;allowedArea设置允许停靠的位置;iconsize属性设置图标的大小;floatable属性设置是否可以悬浮。 在工具栏中添加部件 QToolButton *toolBtn = new QToolButton(this); // 创建QToolButton toolBtn-setText(tr(颜色)); QMenu *colorMenu = new QMenu(this); // 创建一个菜单 colorMenu-addAction(tr(红色)); colorMenu-addAction(tr(绿色)); toolBtn-setMenu(colorMenu);
文档评论(0)