Qt笔记——入门
- Qt的介绍
- 跨平台c++图形用户界面应用程序框架
- Qt的框架
- 父类(基类)子类(派生类)
- 头文件 QApplication应用程序类
- Qt头文件没有.h
- 头文件和类名一样
- 有且只有一个应用程序类的对象
- 窗口默认是隐藏,需要人为显示
- 项目文件
- Q_OBJECT 信号与槽需要这个
- pro文件中,TARGET可以更改项目生成的名字
- 第一个Qt程序
- 如果不指定父对象,对象和对象没有关系,独立
- a指定b为它的父对象,a放在b的上面
- 指定父对象,只需要父对象显示,上面的子对象自动显示
- 父窗口和子窗口的区别(控件,部件,构件)
- 信号和槽
- 信号发出者(指针类型),处理的信号,信号接收者,信号处理函数
- 自定义槽(普通函数的用法),可以是任意的成员函数,普通全局函数,静态函数
- 槽函数需要和信号一致(参数,返回值)
- 信号必须有signals关键字来声明
- 信号没有返回值,但可以有参数
- 信号就是函数的声明,只需声明,无需定义
- 信号可以重载,Qt4可以用宏signal和slot关键字连接信号,编译的时候不对signal错误检查,槽函数需要slots:声明,Qt5如果有重载需要指针定义
- QSting转换成可识别的字符 str.toUtf8().data()
- 用Lamda形式可以不用写槽函数
- 坐标系统
- 对于父窗口,坐标系统相对于屏幕
- 原点,屏幕左上角;x,往右;y,往下
- 子窗口,相对于父窗口
- 对于父窗口,坐标系统相对于屏幕
- 内存回收机制
- 1,指定父对象,2直接或间接继承
- 继承QOBJECT,对象树可以自动释放内存
- 子对象如果是动态分配空间的new,不需要手动释放delete
- 带菜单栏的窗口
- 模态窗口
- QDialog dlg;dlg.exrc();循环,不关闭窗口无法操作其他窗口
- 非模态窗口
- 1,QDialog dlg;dlg.show(); 会一闪而过,直接运行过这条语句
- 2,QDialog *dlg1 =new QDialog(this); 放子函数里,会不断增加内存
- 3,QDialog *dlg1 =new QDialog;dlg1->setAttribute(Qt::WA_DeleteOnClose);dlg1->show();不指定父对象,设置窗口关闭时,释放内存。显示。
- 模态窗口
- 对话框
- QMessageBox,QFileDialog
Qt笔记——入门的更多相关文章
- Qt快速入门学习笔记(基础篇)
本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&am ...
- PHP学习笔记 - 入门篇(5)
PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...
- PHP学习笔记 - 入门篇(4)
PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...
- PHP学习笔记 - 入门篇(3)
PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...
- PHP学习笔记--入门篇
PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world! ...
- Qt快速入门系列教程目录
Qt快速入门系列教程目录
- LESS学习笔记 —— 入门
今天在网上完成了LESS的基础学习,下面是我的学习笔记.总共有三个文件:index.html.main.less.mian.css,其中 mian.css 是 main.less 经过Koala编译之 ...
- 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解
PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...
- QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系
摘要 我们使用的标准 C++,其设计的对象模型虽然已经提供了非常高效的 RTTI 支持,但是在某些方面还是不够灵活.比如在 GUI 编程方面,既需要高效的运行效率也需要强大的灵活性,诸如删除某窗口时可 ...
随机推荐
- 【SSH】——spring的控制反转和依赖注入
spring是一个轻量级的容器框架,主要是为了使企业的开发变得简单.高效.无论是从大小还是开销来讲,他都可以算是轻量级的,也是非侵入性的. 下图是spring的框架示意图,说到spring,就不得不提 ...
- java enum naming rules & Pascal case, Camel case, Uppercase
java enum naming rules Constant & all Capital Case https://stackoverflow.com/questions/3069743/c ...
- 【版本控制】VisualSVN Server更改SVN版本库存放路径的方法
最近也玩起了SVN软件版本管理,在本机上安装了VisualSVN Server+TortoiseSVN,感觉还不错吧.但是,版本库存在哪里呢?在安装VisualSVN Server时,已经默认设置了, ...
- JVM GC Q&A(补充ing)
1.如果一个对象没有与其相连的GC ROOT,一定会被回收吗? 这个对象并非是非死不可的,这时他只是处于死缓阶段,要真正宣告一个对象的死亡,至少要经历两次标记过程:如果对象在进行可达性分析后发现并没有 ...
- SqlServer中临时表的应用
一.变通处理WHERE后面IN的参数过多 WHERE后面的条IN操作符里的参数比较小时,可以直接使用IN(1,2,3)这样处理,当个数不确定(可能超过1000)时,应该考虑使用临时表关联查询: SEL ...
- transitionEnd和animationEnd的一个临时解决方案
transtionEnd需要添加前缀,并且存在多次触发问题,animationEnd也需要添加前缀,下面是一个临时性解决方案,解决了部分问题,完美方案探索中 (function(){ var body ...
- 【17.12.22.B】
B 题面描述: 给一个长度为n的序列,a[1], a[2], ... , a[n], 选出连续的k个数,使得这k个数的最大值加这k个数的or值最大. 假设选出的数为a[l], a[l + 1], .. ...
- BZOJ2097: [Usaco2010 Dec]Exercise 奶牛健美操 贪心+伪树dp+二分
//论全局变量的杀伤力....QAQ#include<cstdio> #include<iostream> #include<cstdlib> #include&l ...
- 学习python类
类:Python 类提供了面向对象编程的所有基本特征: 允许多继承的类继承机制, 派生类可以重写它父类的任何方法, 一个方法可以调用父类中重名的方法. 对象可以包含任意数量和类型的数据成员. 作为模块 ...
- 7月16号day8总结
今天学习过程和小结 1.列举Linux常用命令 shutdown now Linux关机 rebot重启 mkdir mkdir -p递归创建 vi/touth filename rm -r file ...