
Qt
Bruce_0712
这个作者很懒,什么都没留下…
展开
-
Qt之编译、链接和构建详解
编译、链接和构建:在本书中,经常会提到三个词:编译、链接和构建,因此有必要把这三个词的含义澄清一下:1. 编译的英文是Compile,指的是把源代码文件通过编译器转化为目标文件的过程。编译过程的输入文件是C / CPP / H等文本文件,输出是OBJ目标文件。2. 链接的英文是Link,它指的是把多个OBJ目标文件、LIB库文件链接成一个可执行文件的过程。链接过程的输入是OBJ / L转载 2017-02-06 21:19:30 · 1842 阅读 · 0 评论 -
Qt之信号signals和槽slots详解
目录(?)[-]一概述 二信号 四信号和槽的关联 五元对象工具 六程式样例 七应注意的问题 8信号和槽也不能携带模板类参数 9嵌套的类不能位于信号或槽区域内也不能有信号或槽 10友元声明不能位于信号或槽声明区内相反他们应该在普通C的privateprotected或public区内进行声明下面的例子是不合语法规范的转载 2016-12-16 16:02:30 · 47657 阅读 · 1 评论 -
Qt窗体之间相互传值的三种方式
1.使用QT中的Signal&Slot机制进行传值我在mainwindow里面添加了一个textedit用来接收传递过来的值,dialog里面添加了一个ok按钮和一个lineedit,可以在lineedit里面输入信息点击ok按钮时传递到主窗口。dialog.h如下:#ifndef DIALOG_H#define DIALOG_H#include namespace Ui {转载 2016-12-16 23:03:57 · 15666 阅读 · 4 评论 -
Qt之Ui名字空间以及setupUi函数的原理和实现详解
用最新的QtCreator选择GUI的应用会产生含有如下文件的工程 下面就简单分析下各部分的功能。 .pro文件是供qmake使用的文件,不是本文的重点【不过其实也很简单的】,在此不多赘述。所以呢,还是从main开始,[cpp] view plain copy #include #include "mainwindow.h"转载 2016-12-17 19:44:54 · 877 阅读 · 0 评论 -
关于Qt的事件循环以及状态机事件循环的思考
1.一般我们的事件循环都是由exec()来开启的,例如下面的例子:1 QCoreApplicaton::exec()2 QApplication::exec()3 QDialog::exec()4 QThread::exec()5 QDrag::exec()6 QMenu::exec() 这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循转载 2016-12-18 13:41:16 · 2665 阅读 · 0 评论 -
Qt之Q_OBJECT详解
信号和槽是Qt应用开发的基础,它可是将两个毫无关系的对象连接在一起,槽和普通的C++函数是一样的,只是当它和信号连接在一起后,当发送信号的时候,槽会自动被调用只有加入了Q_OBJECT,你才能使用QT中的signal和slot机制。 所有QObject的派生类在官方文档中都推荐在头文件中放置宏Q_OBJECT,那么该宏到底为我们做了哪些工作?在qobjectdef.h中有下面转载 2016-12-15 10:11:35 · 11205 阅读 · 1 评论 -
浅谈 qmake 之 shadow build
shadow buildshadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁。这不是qmake独创的东西,cmake中早就使用这个东西了 cmakeqmake备注in-sourcecmake .转载 2016-12-11 18:54:58 · 594 阅读 · 0 评论 -
将Qt Creator导入Cmake项目
既然已经习惯了Qt Creator,索性将它作为通用IDE,另外还需要选择一个通用的make系统,当然这就是Qt Creator默认也支持的CMake。使用CMake作为构建系统,需要自己写CMakeLists.txt,相当于qmake下的pro,只不过更加与平台以及编译器无关。先来个最简单的CMakeLists.txt:[c-sharp] view plain cop转载 2016-12-11 18:22:18 · 13370 阅读 · 0 评论 -
用 cmake 构建Qt工程(对比qmake进行学习)
cmake vs qmakeqmake 是为 Qt 量身打造的,使用起来非常方便cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能内置的 out-of source 构建。(目前QtCreator为qmake也默认启用了该功能。参考:浅谈 qmake 之 shadow build)为各种平台和场景提供条件编译可处理多个可执行文件情况,和很好配合 QtTe转载 2016-12-11 17:29:55 · 13840 阅读 · 1 评论 -
关于Qt::WindowFlags枚举类型的全面解析
在使用Qt设计的时候经常会看到QWidget控件的构造函数出现下面这样一句话: 1 QWidget(QWidget *parent=0,Qt::WindowFlags f=0) QWidget *parent=0这段代码容易理解,是指父窗口部件的指定。 Qt::WindowFlags f=0这代码就有一些让人不解了,其实它是指定控件的窗口标识的。值为0即Qt::Widg原创 2016-12-07 15:20:48 · 9066 阅读 · 1 评论 -
Qt之toggled&trigger详解
QPushButton 设置了消息toggled(bool),但是对应的信息褿没反应? 解决方法:要设置属性Checkable(true); 在Qt中经常遇到toggle和trigger这两个词,粗一看,两个词都有触发的意思,但细细一想,不尽然。 toggle在实物上有开关的意思,这跟我们物理实验用的开关是一回事,两头表示两个状态:合上和断开。于是转载 2017-02-01 17:37:16 · 7669 阅读 · 0 评论 -
Qt之translate、tr关系与中文问题详解
题外话:何时使用 tr ?在论坛中漂,经常遇到有人遇到tr相关的问题。用tr的有两类人:(1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr(2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种:(2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包)(2b) 用tr包住中文(源码用中文,然后转载 2017-02-03 14:56:08 · 2748 阅读 · 0 评论 -
QT信号和槽以结构体为参数传递复杂数据
QT 的信号和槽机制能十分方便的用来传输数据,但是如果数据种类比较多,分类比较多的时候,就需要更好地更高效的来传递数据的方法。以结构体作为参数是个很不错的选择。这几天写的程序正好需要以结构体来作为参数,但是网上搜的资料很少,讲的也不详细,我解决了问题后整理了一下,希望给有同样需求的同学一点帮助Q_DECLARE_METATYPE与qRegisterMetaTypeqRegist转载 2016-12-20 19:37:57 · 7566 阅读 · 1 评论