学习
实践
活动
工具
TVP
写文章

Qt编程指南

序言 本教程《Qt编程指南》主要是写给Qt开发新手看的,当然前提必须学会C++,推荐《C++ Primer Plus》 这本书(已有第6版), 里面内容比较深入浅出,虽然看起来比较厚,其实很多代码是重复的 教程里面使用的是开源的开发工具集合(g++、make、qtcreator等), Visual Studio 的 Qt 配置参看附加文档(QtCreator 支持用 VC 编译器生成程序,不需要用 Visual 示例代码: https://qtguide.ustclug.org/QtProjects/ 附加文档: https://qtguide.ustclug.org/extradoc/ (附带VS2015版本Qt 配置教程、虚拟机下载链接,MSYS2版本Qt安装教程、虚拟机下载链接,还有Linux版本Qt学习虚拟机下载链接等等,如果使用虚拟机需要 VMware 10 或以上版本)。

30430

Qt多线程编程

我在github仓库里面看到之前遗留的Qt_Demo,把文章相应的工程文件提交到仓库里面去,上次的简易聊天室也同步过去了,以及这篇文章的两个线程Demo。 给我个Star https://github.com/ADeRoy/Qt_Demo 多线程开发 线程基础 GUI线程与工作线程 每个程序启动后拥有的第一个线程称为主线程,即GUI线程。 QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。 什么时候用到多线程? QThread的执行从run()函数的执行开始,在Qt自带的QThread类中,run()函数通过调用exec()函数来启动事件循环机制,并且在线程内部处理Qt的事件。 在Qt中建立线程的主要目的就是为了用线程来处理那些耗时的后台操作,从而让主界面能及时响应用户的请求操作。

93120
  • 广告
    关闭

    2022腾讯全球数字生态大会

    11月30-12月1日,邀您一起“数实创新,产业共进”!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    QT应用编程: Qt Creator添加快捷注释

    一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、添加快捷注释 /* 工程: %{CurrentProject:Name} 日期: %{CurrentDate:yyyy-MM-dd } 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: */

    11220

    QT应用编程: windows下QT调用COM组件

    一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 示例工程下载链接: https://download.csdn.net/ download/xiaolong1126626497/14919797 二、创建COM组件 为了方便测试,我这里使用QT来创建COM组件,再由QT自己调用。 QT创建COM的方法看这里: (1)VS2017下使用QT生成COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/112556866 += core gui QT += axcontainer greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++11 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0

    51310

    QT应用编程: windows下QT调用COM组件并集成到QT界面

    一、环境介绍 操作系统: win10 64位 QT版本: 5.12.6 Visual Studio IDE 版本: 2017 二、创建COM组件 为了方便测试,我这里使用QT来创建COM组件,再由QT QT创建COM的方法看这里: (1) VS2017下使用QT生成COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/ https://blog.csdn.net/xiaolong1126626497/article/details/112550412 本次文章是接着上一篇文章写的,创建的COM组件可以参考上一篇文章: QT 应用编程: windows下QT调用COM组件: https://blog.csdn.net/xiaolong1126626497/article/details/112978956 三、QtCreate 里创建工程调用COM组件完成界面开发 上一篇文章里介绍了在QtCreate里使用QAxObject调用COM组件,并完成函数接口调用;如果调用的COM组件是带界面的程序,并需要集成到当前QT程序中,就需要使用

    20630

    qt多线程编程实例_lgbt

    QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。 二、QT多线程简介 QT通过三种形式提供了对线程的支持,分别是平台无关的线程类、线程安全的事件投递、跨线程的信号-槽连接。 从Qt4.8起,可以释放运行刚刚结束的线程对象,通过连接finished()信号到QObject::deleteLater()槽。 receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection ) Qt支持5种连接方式 A、Qt::DirectConnection C、Qt::AutoConnection(自动方式) Qt的默认连接方式,如果信号的发出和接收信号的对象同属一个线程,那个工作方式与直连方式相同;否则工作方式与队列方式相同。

    14110

    QT应用编程: 开发串口调试助手

    一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 串口调试助手,在嵌入式开发中是很常用的。 效果图 三、核心代码 3.1 widget.cpp #include "uart_mainwindow.h" #include "ui_uart_mainwindow.h" /* * 设置QT

    19730

    Qt界面编程:窗口传值方式

    首先想到的解决方法自然是使用Qt自带的signal/slot机制。即首先发信号给父窗口,父窗口接到信号执行槽函数发送一个携带所需数据的信号给子窗口。 2、尝试解决 使用环境:Qt5.0,  Qt creator2.6, Windows XP sp3 32bit 创建一个主窗口类和子窗口类,在主窗口类中声明一个QString类型的成员变量,访问权限设置为 上面3所标识的问题,其实并没有严格的要求,至少在Qt Creator中没有这样的限制。你可以将该成员变量设置为private,protected, public的,但是在子窗口中照样能访问。

    1.6K70

    QT应用编程: 基于Qt设计的跨平台录音机功能

    一、功能介绍 运行环境:Windows10 64位 QT通过QAudioInput类读取声卡PCM数据,在封装WAV头,转为WAV格式的文件保存到本地。 可以选择指定的声卡录制、播放音频。 define MAINWINDOW_H #include <QMainWindow> #include <QtNetwork/QUdpSocket> #include <QAudio> //这五个是QT QAudioInput> #include <QAudioOutput> #include <QIODevice> #include <QFile> #include <QTimer> #include <QDir> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT /设置保存文件的路径 #define SAVE_FILE_PATH "test.pcm" #define SAVE_WAV_FILE_PATH "test.wav" #endif /* * 设置QT

    23910

    Qt多线程编程之线程池

    QThreadPool 此类为Qt提供的线程池函数,使用此类只需要配置线程池的最大线程数量、线程长时间不使用的过期时间等参数,不需要进行QThread相关的操作。 局部线程池 和常规类的使用相同,可以通过QThreadPool pool;的方式建立一个局部线程池,并由当前类维护,可保证此线程池仅供当前类应用 QRunnable类 QRunnable类在Qt中是所有可运行对象的基类

    2.6K30

    QT应用编程: win7+vs2010+QT4.8.5开发环境搭建

    一、环境介绍 操作系统: win7 64位 家庭版 QT版本: 4.8.5 (qt-win-opensource-4.8.5-vs2010.exe) VS版本: 2010 因为最近用到的项目源代码在 二、相关软件包下载地址 2.1 QT库下载地址 下载地址: http://download.qt.io/archive/qt/4.8/4.8.5/ CSND下载地址: https://download.csdn.net QT4.8.5库 : qt-win-opensource-4.8.5-vs2010.exe 2. QT在VS里的插件: qt-win-opensource-4.8.5-vs2010.exe 安装完1,2两个步骤之后,先打开QTCreate配置编译器,选择VS2010的编译器,会自动识别,再创建一个程序编译运行测试一下环境 QT环境没有问题之后,将剩下的软件全部安装完,再打开VS2010,如果QT插件安装成功,在VS2010的工具栏会出现QT的选项。 点击新建项目,可以选择创建QT4的工程。

    26220

    QT应用编程: win10+vs2017+QT5.12.6开发环境搭建

    Qt提供了QtActiveX模块来支持微软ActiveX的开发,Qt的ActiveX和COM的开发支持两种方式: 1. 支持将已有的COM或者ActiveX空间引入到Qt的应用程序中。 2. 支持将Qt应用程序或者Qt的对象导出成COM对象或者ActiveX控件供他人使用。 二、相关软件包下载地址 2.1 QT安装包下载 下载地址: http://download.qt.io/archive/qt/5.12/5.12.6/ 2.2 VS2017社区版下载 微软官网下载地址 安装完毕之后,再重新打开VS2017,成功就会在菜单栏出现Qt VS Tools 选择。 点击 Qt VS Tools 配置QT的版本。 : 2.4 安装QT5.12.6 2.5 使用VS2017新建QT工程 解决方法: 点击系统最下角的windows图标,弹出菜单,通过首字母,找到QT的安装列表;选择Qt for

    26810

    QT应用编程: 设置颜色透明度

    一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、功能介绍 在绘制自定义窗口时,经常会在背景上绘制其他图形效果,又不想把背景色覆盖掉。 color.setAlpha(100); //其中,参数x为透明度,取值范围为0~255,数值越小越 三、示例代码 /* 工程: DrawTimeLine 日期: 2020-12-25 作者: DS小龙哥 环境: win10 QT5.12.6 color); QRectF posRect(0,20, 100,100); painter.setBrush(posBrush); //设置画刷 painter.setPen(Qt

    44930

    QT 应用编程: 应用程序动态发布

    一、QT程序发布方式 Qt 发布的时候,通常使用两种方式: (1)静态编译 (2)动态编译 静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序本身较大。 二、动态打包发布 2.1 打包工具 在QT5以后的版本中,Qt 的编译器安装包里自带了一个打包工具: windeployqt.exe windeployqt 工具可以自动复制插件文件夹和 dll 文件、 ,可以得到完整的 exe 程序发布集合,解决所有的依赖关系,不用手动去一个一个复制(QT4程序发布就需要自己手打复制,比较麻烦)。 2.2 准备工作 1. 需要一个完整正常编译的 QT 工程。 2. 比如: MINGW 编译器: C:\app_setup\for_QtQt5.5.1\5.5\mingw492_32\bin\windeployqt.exe VS 编译器: D:\Qt\Qt5.5.0\5.5 第二步: 按下键盘上的windows按钮,打开窗口列表,找到QT安装的位置(按字母排序的Q),选择当前QT程序编译时使用的编译器,打开命令行终端。 第三步: 切换到QT程序存放的目录下。

    12320

    QT应用编程: 删除指定目录和文件

    项目程序在运行过程中经常需要创建一些临时目录并且在目录下创建一些临时文件,使用完毕之后,需要进行删除。

    69620

    QT网络编程: 使用QNetworkAccessManager上传post请求

    在项目开发中,设备终端经常需要向服务器上传一些日志或者报告状态信息,下面使用QNetworkAccessManager封装了一个函数方便传入要上传的数据进行上传...

    63220

    QT应用编程: QSpacerItem(弹簧)隐藏与显示

    一、环境介绍 操作系统介绍:win10 64位 QT版本: 5.12.6 二、代码设置QSpacerItem隐藏与显示 UI设计界面上弹簧控件: 方法1: //显示弹簧控件代码 ui->horizontalSpacer

    15020

    QT应用编程: 使用QEventLoop实现事件循环

    一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 二、QEventLoop类 QEventLoop类提供了一种进入和离开事件循环的方法。

    68720

    QT应用编程: 开发TCP网络调试助手

    一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 TCP网络调试助手,在网络相关开发、嵌入式开发里使用较多,主要用来测试网络传输,调试等等。 对于基本的QT网络开发入门学习借鉴已经足够了。

    17420

    QT应用编程: 域名解析(域名转IP)

    一、环境介绍 Qt: 5.12.6 操作系统: win10 (64位) 二、软件效果与功能介绍 功能: 域名解析(域名转IP) 三、核心代码 3.1 widget.cpp #include " this); } Widget::~Widget() { delete ui; } /* 工程: SmartHome 日期: 2021-04-26 作者: DS小龙哥 环境: win10 QT5.12.6 Log_Text_Display(address.toString()+"\n"); } } /* 工程: IP_Addr_Analysis 日期: 2021-06-01 作者: DS小龙哥 环境: win10 QT5.12.6 text(),this, SLOT(lookedUp(QHostInfo))); } /* 工程: IP_Addr_Analysis 日期: 2021-06-01 作者: DS小龙哥 环境: win10 QT5.12.6 namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public

    27710

    扫码关注腾讯云开发者

    领取腾讯云代金券