QT中的对象树

一定程度上简化了内存回收机制:当创建的对象 指定的父亲是由QObject或者Object派生的类时候,这个对象被加载到对象树上,当窗口关闭掉时候,树上的对象也都会被释放掉

信号和槽

通过使用connect()方法,将信号与槽函数绑定。

connect()方法参数说明:

​ connect(信号发送方,发送的信号,信号接收方,处理的槽函数)

自定义信号和槽函数

  1. 自定义信号写在 signals 下

    1. 返回值是void

    2. 只需要声明,不需要实现

    3. 可以有参数,可以发生重载

  2. 自定义槽函数,写在public下 或者是全局函数 或者 写在public slot 下或者 lambda表达式

    1. 返回值是void

    2. 需要声明,也需要实现

    3. 可以有参数,可以发生重载

  3. 当信号和槽发生重载后,再使用时要使用函数指针明确指出函数地址

拓展

  1. 信号可以连接信号
  2. 可以使用disconnect()断开信号和槽
  3. 多个信号可以连接到同一个槽函数
  4. 信号和槽函数的参数类型必须一一对应,信号的参数个数可以多余槽函数的参数个数,反之不行。

QString转为char*

首先调用Qstring字符串的toUtf8()方法转为QByteArray数据类型,再调用data()方法转为char*类型。

例:

QString str = "this is a Qstring!";
char * pstr = str.toUtf8().data();

QT学习笔记(day01)的更多相关文章

  1. qt学习笔记(五) QGraphicsPixmapItem与QGraphicsScene的编程实例 图标拖动渐变效果

    应大家的要求,还是把完整的project文件贴出来,大家省点事:http://www.kuaipan.cn/file/id_48923272389086450.htm 先看看执行效果,我用的群创7寸屏 ...

  2. Qt学习笔记-Widget布局管理

    Qt学习笔记4-Widget布局管理       以<C++ GUI Programming with Qt 4, Second Edition>为参考 实例:查找对话框 包含三个文件,f ...

  3. QT学习笔记(一)——Helloworld

    QT学习笔记(一)--Helloworld 一.调试的基本方法: Log调试法 --在代码中加入一定的打印语句 --打印程序状态和关键变量的值 断点调试法: --在开发环境中的对应代码行加上断点 -- ...

  4. qt学习笔记(七)之数据库简介(所有支持数据库类型的列表)

    笔者最近用Qt写公司的考勤机.本来要求是要基于frameBuffer下用自己开发的easyGUI来进行上层应用开发,但是考虑到easyGUI提供的接口不是很多,就考虑用Qt来开发,顺带练练手. 废话不 ...

  5. Qt学习笔记(2)-利用StackWidget实现选项卡式页面

    学习笔记第二篇,利用Qt实现选项卡式的页面,效果如图1.1-图1.3所示.程序实现的功能是通过点击状态栏实现不同页面的切换,实际上Qt中自带有Tab选项卡式的控件,本文利用StackWidge实现类似 ...

  6. Qt学习笔记(1) hello world

    Qt的简介: Qt是一个跨平台的C++ GUI库实现,原本只是以为它只提供一些图形接口,看来我还是低估了它,采用文档Qt学习之路2开始学习,不知道这个文档是不是有点老了,管他呢,先了解下. 搭建环境: ...

  7. 【Qt学习笔记】Qt+VS2010的配置

    http://blog.csdn.net/jocyln9026/article/details/8575218 关于Qt Qt是1991年由Trolltech公司开发的一个跨平台的C++图形用户界面应 ...

  8. QT学习笔记1

    不准备用MFC了,想切换到QT.所以跟着网上的一个笔记学习. 1 开发环境是VS2008+QT4.7+VassistX 具体如何配置看这个帖子:http://qimo601.iteye.com/blo ...

  9. QT学习笔记(一)——ui的认识

    ////////////2015/08/06/////////////////// ///////////by xbw////////////////////////// //////////环境 Q ...

随机推荐

  1. 转载------一小时包教会 —— webpack 入门指南

    本文写的蛮好,转载地址:http://www.w2bc.com/Article/50764 其他的地址: http://webpack.github.io/docs/usage-with-gulp.h ...

  2. Python——assert、isinstance的用法

    1.assert 函数说明: assert语句是一种插入调试断点到程序的一种便捷的方式. 使用范例 assert 3 == 3 assert 1 == True assert (4 == 4) pri ...

  3. 宁波市第三届网络安全大赛-WriteUp(Misc)

    友情链接 Web师傅:skyxmao师傅 内心OS 第一次参加这种大型比赛,实力较菜,请师傅们多多指点 Misc | 完成 | 第一 下载文件,看一下doc没有任何问题, 没有发现任何隐写,然后修改文 ...

  4. Django---进阶7

    目录 图书管理的图书增删改查 choices参数(数据库字段设计常见) MTV与MVC模型 多对多三种创建方式 Ajax 小例子 作业 图书管理的图书增删改查 from django.shortcut ...

  5. robotframework日志输出中文乱码以及robotframework常用关键字-笔者亲测

    一.环境说明 python版本:3.7.3 robotframework版本:3.1 robotframwork-ride版本:1.7.4.2 二.问题描述

  6. Python-break/continue

    break:用于终止整个循环 continue:用于终止本次循环,而不终止整个循环的执行

  7. Centos7:python 安装。yum安装软件提示 cannot find a valid baseurl for repobase7x86_64

    方法一.   1.打开 vi /etc/sysconfig/network-scripts/ifcfg-enp4s0(每个机子都可能不一样,但格式会是“ifcfg-e...”).但内容包含: < ...

  8. 网络编程-UDP、TCP

    总结

  9. 什么?你正在学web自动化测试?那这些Selenium的基本操作你了解过吗?

    在自动化测试中,我们都知道是通过定位元素来实现的,那么有时候我们定位元素定位不到是为什么呢? 1.页面出现了iframe 2.出现了新的窗口,没有实现句柄的切换 3.三种等待方式,没有选择其中之一来使 ...

  10. Linux下diff工具

    目录 CentOS 7为例 Meld DiffMerge KDiff3 Kompare CentOS 7为例 Meld Installation 官网 $ sudo yum install meld; ...