随笔分类 - QT
摘要:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。计算机程序常编写专门的workhorse线程执行密集计算,从而提高了程序的执行效率。 今天主要介绍Qt线程四种不同的
阅读全文
摘要:一.常用接口 1.添加数据 QStringListModel *model; model = new QStringListModel(this); model->setStringList(QStringList()<<"语文"<<"数学"<<"英语"); ui->listView->setMod
阅读全文
摘要:在用QT做一个包含许多个小项目的大项目时,遇到了无法把多个项目合并到一个Pro的问题,后来经过艰苦尝试,终于可以在一个大项目下包含许多小项目了。但同时各个项目之间的调用又出现了问题,目前已解决。下面就把我的经验分享给大家。 一、创建包含多个小项目的大项目1、第一种情况:在新建的empty proje
阅读全文
摘要:$$PWD的意思为当前目录 如pro文件中:INCLUDEPATH += $$PWD/lib/x64-win64$$PWD表示的意思就是pro文件所在的目录。 $$quote关键字为在pro文件中加入带空格的路径 如: LIBS += -L$$quote(C:\Program Files (x86)
阅读全文
摘要:QString 类中各函数的作用。 一、字符串连接函数 1、QString也重载的+和+=运算符。这两个运算符可以把两个字符串连接到一起。 2、QString的append()函数则提供了类似的操作,例如: str = "User: "; str.append(userName); str.appe
阅读全文
摘要:QTimer::singleShot(10, this,SLOT(eventOperation())); 单singleShot,表示它只会触发一次,发出一次信号,然后来执行槽函数。 如果把槽函数设置成eventOperation(),那么当定时器到达时候,就会执行这个函数,在这个函数中定时器又会再
阅读全文
摘要:1. 简介 QtCreator是一个十分好用的跨平台IDE,由于最近需要在Windows和Mac同时写一个C++的代码,使用VS和XCode不能实现项目的统一管理(可以使用cmake来组织源码,但是每次编译cmake是非繁琐),这种情况下使用QtCreator还是不错的。 2. 创建项目管理工程 首
阅读全文
摘要:setZValue(zValue):设置item的层叠顺序。 zValue值大的item在zValue值小的item之上。 如果不设置默认为为0,item的层叠会按照加入的顺序层叠。
阅读全文
摘要:在标准C++中,并没有foreach关键字。 但是在QT中,可以使用这一个关键字,其主要原因是QT自己增加了这一个关键字,就像slots和signals、emit等一样。增加的foreach关键字在编译时会进行预处理。 其用法为: foreach (varItem , Items) // forea
阅读全文
摘要:概述 QScopedPointer和C++中的智能指针std::unique_ptr其概念是一样的,它包装了new操作符在堆上分配的动态对象,能够保证动态创建的对象在任何时候都可以被正确地删除。但它有更严格的所有权,并且不能转让,一旦获取了对象的管理权,你就无法再从它那里取回来。也就是说,只要出了作
阅读全文
摘要:Qt的QPainter::CompositionMode提供了多种图像叠加的模式。常见的有QPainter::CompositionMode_SourceOver, QPainter::CompositionMode_SourceAtop, QPainter::CompositionMode_Des
阅读全文
摘要:QT自定义图形项中的boundingRect()和shape()函数的理解 实现自定义图形项经常需要重绘的函数有boundingRect()、paint()、shape()。针对霍亚飞的Qt creator中所说,boundingRect()函数具有以下特点:1.paint绘制的图像必须在bound
阅读全文
摘要:开发环境:win7+QT5.8(msvc2015) 一、Qt代码封装成dll和lib文件 1.创建library工程 debug模式下,运行,生成.dll和.lib等文件 注意: debug 和 release 两种模式下生产的文件是在各自生成目录下的,即两种运行模式下生成的文件分别会在如图10中的
阅读全文
摘要:转载:https://blog.csdn.net/hp_cpp/article/details/82715454 (1)在代码中,动态创建的一些控件,先通过setObjectName(“XXX”);用QDesigner创建的界面,就已经设置了setObjectName(2)再通过findChild
阅读全文
摘要://mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> class QLCDNumber; class QTimer; class MyDialog : public QDialog { Q_OBJECT publi
阅读全文
摘要:1、实现效果 QString a = "1,2,3,4,5"; 得到 QStringList b = {"1","2","3","4","5"} 2、实现 QString str = "a,,b,c"; QStringList list1 = str.split(','); // list1: [
阅读全文
摘要:最近编写了一个软件,没有考虑多线程的问题,编好以后,软件在执行计算的时候,鼠标响应有时候会延迟,但是完全能用,考虑到后续随着计算任务的增加,鼠标响应可能延迟会更大,所以打算使用多线程的方法,将执行计算的任务丢到另一个线程进行处理,不影响主界面对鼠标以及各个控件的响应。 查了一下书以及上网搜了一下,介
阅读全文
摘要:效果: 代码: void add_Widget::Prompt_Interface() { QWidget RE_Prompt = new QWidget(); RE_Prompt->setWindowModality(Qt::NonModal); //非模态对话框(不阻塞) RE_Prompt->
阅读全文
摘要:QSerialPort 负责具体的串口操作。选定串口后,要先打开串口,才能设置波特率等参数。这些参数都设置好了就可以使用了。最基本的操作无非是read() 和 write()。需要注意的是这两个操作都是非阻塞的。 另外有一个重要的signal 也需要用到,那就是 void QIODevice::re
阅读全文
摘要:通过好几天的学习,终于写出了一个用于串口通信的上位机。下面开始介绍串口类的使用。 首先,QT5是自带QSerialPort这个类的,使用时需要在pro文件里面添加一行: QT += serialport 然后直接引用头文件就可以使用了。 #include <QtSerialPort/QSerialP
阅读全文