QT基础学习=========================
第一阶段
============================================================================
1. QT creater的编译快捷键
(1) Qmake -project表示生成.pro文件
(2) qmake表示生成makefile
(3) make表示可执行程序;
2. disconnect取消所有函数中指定信号与槽的链接;
3. 信号与槽函数的关系
(1) 参数类型必须要匹配;
(2) 信号的参数可以比槽函数多,但是不能少;
(3) 使用前提:在自己的类中必须要有宏定义,Q_OBJECT
(4) 自己的类必须是Qobject类的直接或者间接的子类
(5) widget是Qobject的子类,connect函数是Qobject中定义,所以才能使用;
4. 编译的过程
(1) Widget.cpp编译生成
(2) 函数利用set_up函数建立自动函数定义和链接关系;
=================================================================
第二课:QT界面的建立原理
=================================================================
1. 在函数中setupUI,建立槽的连接;
2. 新建UI过程
(1) 每一个控件都是一个独立的类对象;
(2) 独立的控件都是window窗口,设置parent = 0:
(3) 当parent的值为其他控件的地址,则为子控件;
(4) 子控件不需要单独显示show函数,如果父控件显示,子控件自动显示;
(5) Resize()大小调整
(6) Move()移动位置
(7) Setfront()设置字体;
(8) Setwindowicon()设置图标;在此之前需要先定义qicon i(路径名称)
3. 理解main函数中的return a.exec():主运行循环
(1) 防止主程序结束,重新开始循环执行主程序;
(2) 开启事件队列,并且进行事件分发;
4. 帮助手册解读
(1) 在类的属性中,获取属性函数
① 如果属性是Bool类型,则获取该属性的函数名是前面加上is,部分直接以属性名字命名;
② 如果属性不是Bool类型,则该属性函数名的获取名即为属性名本身;
(2)设置属性加上为set;
5. Widget表示空白窗口,window表示有标题栏的窗口,dialog表示对话框;
6. 函数的自动调用机制
(1) 当操作系统接收到一种信号后,如果QT程序正在运行状态,则QT会接收到这个信号,并且自动调用控件类中已经定义好的函数,
7. eventFilter函数
(1) 定义eventFilter函数
(2) 给控件安装eventFilter函数安装;
8. 事件的传递性
(1) 某一种控件除了在某一个控件上发生外,还会传递给父控件;
(2) Eventfileter函数如果返回true,则不会传递,默认return false;
(3) Event->accept()作用相当于返回false,适用于所有event;
(4) Event->ignal作用相当于返回true;
9. 实现多个控件的事件触发
(1) 在定义中用qApp来指定所有的控件;
(2) 用notify实现事件的分发,如果需要重新定义notify函数,需要在notify'中returned父类的函数;
10. Postevent函数实现异步事件处理
11. ui中固定界面的大小方法
(1) 直接将maxsize和minsize设置成一致;
(2) 在构造函数中,使用setfixsize( this->width, this->height)来固定大小;