• 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笔记——入门的更多相关文章

  1. Qt快速入门学习笔记(基础篇)

    本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&am ...

  2. PHP学习笔记 - 入门篇(5)

    PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...

  3. PHP学习笔记 - 入门篇(4)

    PHP学习笔记 - 入门篇(4) 什么是运算符 PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. PHP中的算术运算符 算术运算符主要 ...

  4. PHP学习笔记 - 入门篇(3)

    PHP学习笔记 - 入门篇(3) 常量 什么是常量 什么是常量?常量可以理解为值不变的量(如圆周率):或者是常量值被定义后,在脚本的其他任何地方都不可以被改变.PHP中的常量分为自定义常量和系统常量 ...

  5. PHP学习笔记--入门篇

    PHP学习笔记--入门篇 一.Echo语句 1.格式 echo是PHP中的输出语句,可以把字符串输出(字符串用双引号括起来) 如下代码 <?php echo "Hello world! ...

  6. Qt快速入门系列教程目录

    Qt快速入门系列教程目录

  7. LESS学习笔记 —— 入门

    今天在网上完成了LESS的基础学习,下面是我的学习笔记.总共有三个文件:index.html.main.less.mian.css,其中 mian.css 是 main.less 经过Koala编译之 ...

  8. 第15.10节 PyQt(Python+Qt)入门学习:Qt Designer可视化设计界面组件与QWidget类相关的组件属性详解

    PyQt学习有阵子了,对章节的骨架基本考虑好了,准备本节就写组件的属性的,结果一是日常工作繁忙,经常晚上还要加班,二是Qt的组件属性很多,只能逐一学习.研究和整理,花的时间有点长,不过终于将可视化设计 ...

  9. QT从入门到入土(二)——对象模型(对象树)和窗口坐标体系

    摘要 我们使用的标准 C++,其设计的对象模型虽然已经提供了非常高效的 RTTI 支持,但是在某些方面还是不够灵活.比如在 GUI 编程方面,既需要高效的运行效率也需要强大的灵活性,诸如删除某窗口时可 ...

随机推荐

  1. maven中如何得到父工程的位置

    目前的项目是一个父子工程项目,想要在子工程的pom文件中操作父工程目录下的资源. maven官方提供了标准的写法,比如parent.basedir之类的,网上可以找到很多,但尝试了之后就是不识别. 搞 ...

  2. 使用PHP静态变量当缓存的方法

    下面这个PHP的代码实例,功能是帮助用户重置密码,requestResetPassword是接收用户重置密码的请求并且做了相应的检查.为了更好的复用性,我将重置密码的操作单独分配到一个新的resetP ...

  3. Hibernate基本演示

    保存一个对象到数据库中 目录结构 hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hi ...

  4. CSS兼容性总结

    一.针对IE6的 !important 必须写在前面,例如: background:#9C6 !important;background:#999; 二.CSS HACK //IE6 专用 _heig ...

  5. HTML5<canvas>标签:使用canvas元素在网页上绘制线条和圆(1)

    什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以 ...

  6. [BZOJ4920][Lydsy六月月赛]薄饼切割

    [BZOJ4920][Lydsy六月月赛]薄饼切割 试题描述 有一天,tangjz 送给了 quailty 一张薄饼,tangjz 将它放在了水平桌面上,从上面看下去,薄饼形成了一个 \(H \tim ...

  7. 周记【距gdoi:126天】

    这周比上周好了那么一点点……但还是有点呵呵 搞了仙人掌图(当然不是动态的……),以及一个远古算法2-sat(神奇的对称性运用,需要巨大脑洞的建边). 然后关于高考不加分竞赛被“打压”……大神们都发表了 ...

  8. URAL1696 Salary for Robots

    题目戳这里. 最长下降子序列单调队列求法. \(f_{i,j,k}\)表示考虑前\(i\)个数,\(g_1 = j,g_2 = k\)的方案数.转移: \[f_{i,j,k} = \sum_{p = ...

  9. C++——拷贝构造函数说明

    一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: [c-sharp] view plaincopy 1 int a = 100; 2 int b = a; 而类对 ...

  10. 如何获取iframe DOM的值

    在Web开发时,很多时候会遇到一个问题.我在一个页面嵌入了iframe,并且我想获得这个iframe页面某个元素的值.那么该如何实现这个需求呢? 先来看下演示: 效果演示 iframe1中文本框的值: ...