[Qt Creator 快速入门] 第5章 应用程序主窗口

??这一章开始接触应用程序主窗口的相关内容。对于日常见到的应用程序而言,许多都是基于主窗口的,主窗口中包含了菜单栏、工具栏、状态栏和中心区域等。这一章会详细介绍主窗口的每一个部分,还会涉及资源管理、富文本处理、拖放操作和文档打印等相关内容。重点是讲解知识点,而相关的综合应用实例放到了《Qt及Qt Quick开发实战精解》一书中。
??Qt中提供了以QMainWindow类为核心的主窗口框架,包含了众多相关的类,它 们的继承关系如图5 - 1所示,本章会讲解到图中每一个类的基本应用。


图5-1主窗口相关类关系图

5.1 主窗口框架

主窗口为建立应用程序用户界面提供了一个框架,Qt提供了 QMainWindow和其 他一些相关的类共同主窗口的管理。QMainWindow类拥有自己的布局,如图5 - 2所示,它包含以下组件:

  1. 菜单栏(QMemiBar)。菜单栏包含了一个下拉菜单项的列表,这些菜单项由| QAction动作类实现。菜单栏位于主窗口的顶部,一个主窗口只能有一个菜单栏。
  2. 工具栏(QToolBar)。工具栏一般用于显示一些常用的菜单项目,也可以插人I 其他窗口部件,并且工具栏是可以移动的。一个主窗口可以拥有多个工具栏。
  3. 中心部件(Central Widget)。在主窗口的中心区域可以放人一个窗口部件作为| 中心部件,是应用程序的主要功能实现区域。一个主窗口只能拥有一个中心部件。
  4. Dock部件(QDockWidget)。Dock部件常被称为停靠窗口,因为可以停靠在中| 心部件的四周。它用来放S—些部件来实现一些功能,就像个工具箱。一个主窗口可| 以拥有多个Dock部件。
  5. 状态栏(QStatusBar)。状态栏用于显示程序的一些状态信息,在主窗口的fi底1 部。一个主窗口只能拥有一个状态栏。

??本节知识可以在帮助索引中查看 Application Main Window 关键字,其中列出所有与创建主窗口应用程序相关的类,而查看 Main Window 关键 字,可以看到主窗口相关类的应用介绍。


图5-2 应用程序主窗口界面

原文地址:https://www.cnblogs.com/linuxAndMcu/p/10126155.html

时间: 2024-08-01 23:48:57

[Qt Creator 快速入门] 第5章 应用程序主窗口的相关文章

[Qt Creator 快速入门] 第9章 国际化、帮助系统和Qt插件

??这一章是基本应用篇的最后一章,介绍Qt的国际化.帮助系统和创建插件等方面的内容. ? 9.1 国际化 ??国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. Qt支持现在使用的大多数语言,特别是: 所有东亚语言(汉语.日语和朝鲜语): 所有西方语言(使用拉丁字母): 阿拉伯语: 西里尔语言(俄语和乌克兰语等): 希腊语: 希伯来语: 泰语和老挝语: 所有在Unicode

[Qt Creator 快速入门] 第8章 界面外观

??一个完善的应用程序不仅应该有实用的功能,还要有一个漂亮的外观,这样才能使应用程序更加友好,更加吸引用户.作为一个跨平台的UI开发框架,Qt提供了强大而灵活的界面外观设计机制.这一章将学习在Qt中设计应用程序外观的相关知识,会对Qt 风格QStyle和调色板QPalette进行简单介绍,然后再对Qt样式表(Qt Style Sheets)进行重点讲解,最后还会涉及了不规则窗体和透明窗体的实现方法. 8.1 Qt风格 ??Qt中的各种风格是一组继承自QStyle的类.QStyle类是一个抽象基类

QT Creator 快速入门教程 读书笔记(一)

一 Qt简介 Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌面应用程序开发.嵌入式开发和移动开发,覆盖了现有的所有主流平台.你只需要编写一次代码,发布到不同平台前重新编译即可. Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML.连接数据库.So

Qt Quick快速入门

年前花了一个多月的时间看Qt的文档并根据自己的需要演练了一部分,之后写了一套UI,然后陆陆续续也弄了一些小工具(主要是上位机程序),由于后面工作估计会越来越忙,就能写一点是一点了,希望能对读者有帮助. 1.Qt Quick快速入门之qml布局 2.Qt Quick快速入门之qml与C++交互 3.Qt Quick快速入门之信号.槽 4.Qt Quick快速入门之线程基础 5.Qt Quick自定义样式一套 顺便打个广告,公司最近要补充一大批人(貌似要招差不多100人左右吧,研发方面主要是硬件.嵌

Qt 动画快速入门(一)

Qt-4.6动画Animation快速入门三字决 Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序.不必像以前的版本一样,所有的控件都枯燥的呆在伟大光荣的QLayout里,也许它们可以唱个歌,跳个舞.    所谓动画就是在一个时间段内的不同时间点有不同的状态,只要定义好这样状态,实现动画就是水到渠成的事情.当然做这件事情,最好用的就是状态机,没错Qt-4.6.0提供了QStateMachine类,不过今天我要讲的三字决要简单一些. 第一决:Q

Python编程入门-第三章 编写程序 -学习笔记

第三章 编写程序 1.编辑源程序.运行程序 可通过IDLE中File>New File新建一个文本以编辑源程序,编辑完成可通过Run>Run Module(或者F5快捷键)来运行程序.Python源文件都以.py格式存储. 2.从命令行运行程序 除了上述利用IDLE的集成功能运行程序的方式外,当然也可以通过命令行运行程序,命令格式为:python ‘源文件名称.py’. 3.编译源代码 当运行py格式文件时,Python会自动创建相应的.pyc文件,该文件包含编译后的代码即目标代码,目标代码基

Qt Quick快速入门之qml布局

Qml里面布局主要有两种,锚点布局.Grid布局. 锚点布局使用anchors附件属性将一个元素的边定位到另一个元素的边,从而确定元素的位置和大小.下面是示例 1 import QtQuick 2.3 2 import QtQuick.Window 2.0 3 4 Window { 5 id:anchorLayoutWindow; 6 width: 480; 7 height: 320; 8 title: "AnchorLayout"; 9 10 Rectangle{ 11 id:re

Qt Quick快速入门之qml与C++交互

C++中使用qml对象,直接使用findChild获取qml对象,然后调用setProperty方法设置属性,当然必须在加载qml之后才能使用,不然findChild找不到对象,用法如下. engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); QObject * text_Msg = engine.rootObjects()[0]->findChild<QObject*>("text_Msg");

Qt Quick快速入门之线程基础

首先必须明确的是,Qt中的线程使用是相对复杂的,并不像C#中那么随意,特别是结合串口.网络编程等,使用时稍有不慎就会出问题,然后Qt里面经常出了问题就直接崩溃(这个真是谁用谁知道),所以如果在功能上用异步方式能做到其实就没必要自己去开线程,当然如果自己写的函数比较耗时(比如不断地循环做操作之类的)就无法避免使用线程了. Qt中一般将耗时操作单独放在一个类中实现,在主线程中创建类对象,然后将这个对象移到子线程中,主线程与子线程间的通信主要通过信号和槽实现.另外对象是在主线程中创建的,对象中的成员都