1.创建第一个Qt程序
1.1点击创建项目后,选择项目路径以及给项目其名称
1.2名称 不能有中文 不能有空格
1.3路径 不能有中文路径
1.4默认创建窗口类 myWidget 基类有三种选择 QWidget、QMainWindow、QDialog
1.5main函数
1.5.1QApp;ication a 应用程序对象 有且仅有一个
1.5.2 myWidget w实例化窗口对象
1.5.3w.show()调用函数 显示窗口
1.5.4return a.exec()让应用程序进入消息队列机制中,代码阻塞到当前行
2.按钮控件常用API
2.1创建QPushButton *ptn=new QPushButton
2.2设置父亲 setParent(this)
2.3设置文本 setText("文字")
2.4设置位置 move("宽,高")
2.5重新指定窗口大小 resize("宽,高")
2.6设置窗口标题 setWindowTitle("文字")
2.7设置窗口固定大小 setFixSize("宽,高")
3.对象树
3.1当创建的对象在堆区的时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不要管理释放的操作,将对象会放到对象树中
3.2一定程度上简化了内存回收机制
4.Qt中的坐标系
x向右增加 y向下增加
5.信号和槽
5.1连接函数
5.2参数
5.2.1参数1 信号的发送者
5.2.2参数2 发送的信号(函数地址)
5.2.3 参数3 信号的接受者
5.2.4参数4 处理的槽函数(函数的)
5.3松散耦合
5.4实现 点击按钮 关闭窗口的案例
5.5connect(myBtn,&QPushButton::clicked,this,&QWidget::close)
6.自定义信号和槽
6.1自定义信号
6.1.1返回void
6.1.2写到singnals下
6.1.3需要声明 不需要实现
6.1.4可以有参数 可以重载
6.2自定义参函数
6.2.1返回void
6.2.2需要声明 需要实现
6.2.3可以有参数 可以重载
6.2.4写到public下或者全局函数
6.3触发自定义的信号
emit自定义信号
6.4案例 下课后,老师触发饿了信号,学生相应后,请客吃饭
7当自定义的信号和槽出现重载
7.1需要利用函数指针 明确只想函数的地址
7.2void (Teacher:: *tacherSignal)(QString)=&Teacher::hungry;
7.3QString转成char *
7.3.1 .ToUtf8() 转成QBYteArray
7.3.2 .Data()转成Char *
7.4信号可以连接信号
7.5断开信号disconnect
8.拓展
8.1.信号可以连接信号
8.2.一个信号可以连接多个槽函数
8.3.多个信号可以连接同一个槽函数
8.4.信号和槽函数的参数类型必须类型一一对应
8.5.信号和槽的参数个数 信号的参数个数可以多于槽的参数个数
9.Qt4版本以前的信号和槽连接方式
9.1利用Qt4信号槽 连接无参版本
9.2优点:参数直观