C++GUIQT编程

来源:互联网 发布:演示demo制作软件 编辑:程序博客网 时间:2024/05/18 22:14

第一章

第二章 创建对话框

1、对于所有定义了信号和槽的类,类的定义开始处Q_OBJECT宏都是必要的;

2、<QtGui>头文件包含了Qt GUI类的定义;

3、使用表示“与”操作的符号“&”来表示快捷键;

4、槽:和普通的C++成员函数几乎是一样的,可以是虚函数,可以被重载,可以是公有的、保护的或者私有的,并且可以被其他C++成员函数直接调用,且参数可以是任意类型。

               不同的是:槽可以和信号连接在一起,每当发射信号的时候,就会自动调用这个槽。

5、信号成功连接到槽的必要条件是,它们的参数必须具有相同的顺序和相同的类型;

第三章 创建主窗口

1、Qt创建菜单和工具栏步骤:

      *创建并设置动作->创建菜单并且把动作添加到菜单上->创建工具栏并且把动作添加到工具栏上

2、非模态窗口:运行在应用程序中对于任何其他窗口都独立的窗口,创建非模态对话框时,通常会把它的信号连接到能够对用户的交互做出响应的那些槽上;

3、如果对话框通过show()调用,就是非模态的(除非此后又调用了setModal()才会让它变为模态对话框);

第四章 实现应用程序的功能

第五章 创建自定义窗口部件

第二部分 QT中级

第六章 布局管理

1、Qt提供多个窗体中摆放窗口的类:QHBoxLayout、QVBoxLayout、QGridLayout和QStackLayout;

      使用Qt的原因:它们可以确保窗体自动适应于不同的字体、语言和系统平台。

      可以执行布局管理功能的其他类:QSplitter、QScrollArea、QMainWindow和QMdiArea。

2、管理窗体布局基本方法:绝对位置法、人工布局法和布局管理器法。

3、QStackedLayout 类可以对一组子窗口部件进行摆放,或者对它们进行“分页”。

4、停靠窗口(dock window):指一些可以停靠在QMainWindow中或是浮动为独立窗口的窗口。

      QMainWindow提供了4个停靠窗口区域:分别在中央窗口部件的上部、下部、左侧和右侧。

第七章 事件处理

1、Qt中,事件就是QEvent子类的一个实例。

2、通过继承QObject,事件通过它们的event()函数来通知对象。

3、Qt事件模型强大功能是:QObject实例在看到它自己的时间之前可以通过设置另外一个QObject实例先监视这些事件。

第八章 二维图形

1、Qt的二维图形引擎基于QPainter类(QPainter即可以绘制几何图形又可以绘制像素映射、图像和文字);

2、在QPainter的默认系统中,点(0,0)位于绘图设备的左上角,x坐标向右增长,y坐标向下增长。(默认坐标系的每个像素占1×1大小的区域)

3、半像素问题:QPainter绘制一个像素例如(100,100),会相应地在两个方向做+0.5的偏移,使得像素点中信位置在(100.5,100.5);实际应用中,首先只有当反走样无效时(默认情况)才偏移+0.5;如果反走样有效,并且我们试图在(100,100)的位置绘制一个黑色的像素,实际上QPainter会为(99.5,99.5)、(99.5,100.5)、(100.5,100.5)和(100.5,100.5)四个像素点着浅灰色,给人的印象是一个像素正好位于四个像素的重合处。如果不需要这种效果,可以通过指定半像素坐标或者通过偏移QPainter(+0.5,+0.5)来避免这种效果的出现。

4、坐标变换的一种简单方式:使用QPainter的translate()、scale()、rotate()和shear()简便函数,如果想重复使用相同的变换,可以把它们保存到一个QTransform对象中,这样会更高效。

5、164













0 0
原创粉丝点击