Java教程
qt4 gui编程学习笔记
本文主要是介绍qt4 gui编程学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第一章:QT入门
app.exec():将应用程序的控制权传递给QT,进入事件循环中,处于等待模式,等待用户的操作。
可以为部件设置html样式
qt是模拟平台外观来实现好像看起来都是本地程序,而不是说对某个平台进行封装或有一个专门的窗口部件集合
窗口布局管理器(QHBoxLayout。。。)会对放入的部件自动进行重定义其父的部件对象
众多类之间的关系:
第二章:创建对话框
对于定义了信号与槽的类,在类开始的Q_OBJECT宏是必需的
signal和slot本质上都是宏定义
tr(string)函数是翻译成其他语言的标记。
这中的&,表示类快捷键的意思,按下快捷键时,控件接收焦点。
const int &a:常引用,a地址不可修改,指向的内存也不可以修改
布局管理器的addstrech()函数用于设置控件之间的伸缩量
布局管理器是window的直接子对象和控件是平级的
深入介绍信号与槽
槽函数可以是虚函数可以冲在可以公有私有和保护,也可以直接被调用
一个信号可以链接多个槽函数,调用顺序不确定
多个信号可以链接一个槽
一个信号可以链接另外一个信号
原则上信号槽的参数要相同,如果信号参数比槽多,多余的会被直接忽略掉。
Qt的元对象系统:
对cpp进行了扩展,提供两个关键技术:信号槽和内省功能。内省功能对于信号槽是必需的
允许开发者在运行时获得QObject子类的元信息:包括含对象的类名和它所支持的信号与槽的列表,这一机制也支持属性和文本翻译,为Qtscript奠定基础
moc解析Q_Object类的定义并通过cpp函数来提供,moc使用纯cpp实现,所以元对象系统可以在任意的c++编译器上工作。
具体工作机制:
由ui文件生成的ui_ .h文件包含了有关与窗口的一些类的声明
setupUI函数初始化窗体,而且会将有有objectName_signalName()命名惯例的槽和信号链接到一起。
.ui文件是xml格式的
动态对话框:使用QUiLoader载入文件,不需要uic把ui文件转成cpp的代码。
动态对话框可以利用findChild
()来访问窗体中中的各个子部件。
能够使得不重新编译就能改变窗体的布局
第三章 创建主窗口
closeEvent是虚函数,当窗口关闭时函数会被自动调用。
载入图片的方法有常见几种:
图片保存到文件,在运行时候载入
把XPM文件包含在源代码中。
使用QT的资源机制。(适用于所支持的任意文件格式,比运行时载入文件更加的方便)资源文件会被编译到可执行文件当中去,因此不用担心会弄丢他们。
通过exec调用的对话框是模态的,通过show调用的是非模态的
QSettings保存了应用程序中与
特定平台
的东西,win中的是注册表,unix是存储在文本文件,macOS会使用core foundation preference的应用程序编程接口。信息是键值对的方式进行存储。
使用QsplashScreen添加启动画面
坑:使用pixmap读取图片失败,可以看图片格式是否被修改:
如果show调用后不显示,processEvent()
遍历当前应用程序的所有窗口:
第四章:实现应用程序的功能
Qfile和QdataStream实现与平台无关的二进制文件读取接口。
剪贴板的使用
第五章:自定义窗口部件
检测正则的正确性:
qt 的属性:
https://www.cnblogs.com/MakeView660/p/10813829.html
https://zhuanlan.zhihu.com/p/43348546(推荐)
这篇关于qt4 gui编程学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
您可能喜欢
Springboot应用的多环境打包入门
11-23
Springboot应用的生产发布入门教程
11-23
Python编程入门指南
11-23
Java创业入门:从零开始的编程之旅
11-23
Java创业入门:新手必读的Java编程与创业指南
11-23
Java对接阿里云智能语音服务入门详解
11-23
Java对接阿里云智能语音服务入门教程
11-23
JAVA对接阿里云智能语音服务入门教程
11-23
Java副业入门:初学者的简单教程
11-23
JAVA副业入门:初学者的实战指南
11-23
JAVA项目部署入门:新手必读指南
11-23
Java项目部署入门:新手必看指南
11-23
Java项目部署入门:新手必读指南
11-23
Java项目开发入门:新手必读指南
11-23
JAVA项目开发入门:从零开始的实用教程
11-23
栏目导航
前端开发
HTML5教程
CSS教程
Javascript
jQuery教程
AJAX教程
Node.js教程
XML教程
正则表达式
后端开发
Go教程
C/C++教程
消息队列MQ
Net Core教程
Asp.net教程
Java教程
PHP教程
移动端开发
微信公众号开发
小程序开发
Swift教程
IOS教程
Kotlin教程
Android开发
数据库
Redis教程
MongoDB教程
PostgreSQL教程
Oracle教程
MariaDB教程
SqLite教程
MySql教程
SqlServer教程
服务器运维
Kubernetes
Docker容器
linux shell
Nginx教程
网站安全
PowerShell教程
Linux教程
人工智能
TensorFlow教程
Python教程
机器学习
人工智能学习
区块链
区块链技术
游戏开发
游戏编程
Unity3D教程
网站运营
网站策划
网站优化
建站知识
大数据/云计算
云计算
Hadoop教程
软件工程
软件/开发工具使用
Git教程
资讯