序言 本教程《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 或以上版本)。
我在github仓库里面看到之前遗留的Qt_Demo,把文章相应的工程文件提交到仓库里面去,上次的简易聊天室也同步过去了,以及这篇文章的两个线程Demo。...给我个Star https://github.com/ADeRoy/Qt_Demo 多线程开发 线程基础 GUI线程与工作线程 每个程序启动后拥有的第一个线程称为主线程,即GUI线程。...QT中所有的组件类和几个相关的类只能工作在GUI线程,不能工作在次线程,次线程即工作线程,主要负责处理GUI线程卸下的工作。 什么时候用到多线程?...QThread的执行从run()函数的执行开始,在Qt自带的QThread类中,run()函数通过调用exec()函数来启动事件循环机制,并且在线程内部处理Qt的事件。...在Qt中建立线程的主要目的就是为了用线程来处理那些耗时的后台操作,从而让主界面能及时响应用户的请求操作。
浏览量 1 在QT的网路模块中提供了网络编程的相关接口来实现http的访问,其中包含了一些低级的类:QTcpSocket、QTcpServer和QUdpSocket,和一些高级的类:QNetworkRequest...主要是在这个文件中加入network,就可以进行网络编程了。...//qtspider.pro QT += core network QT -= gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG
一、环境介绍 QT版本: 5.12.6 操作系统: win10 64位 二、添加快捷注释 /* 工程: %{CurrentProject:Name} 日期: %{CurrentDate:yyyy-MM-dd...} 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: */
一、环境介绍 操作系统: 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
浏览量 1 QT支持很多不同的数据库,包括:Sqlite, MySQL, SqlServer等等,QT里面提供了访问这些数据库的插件代码,这使得我们可以很方便的访问数据库。...QT支持很多不同的数据库,包括:Sqlite, MySQL, SqlServer等等,QT里面提供了访问这些数据库的插件代码,这使得我们可以很方便的访问数据库。...Qt 5 的 SDK 默认提供了编译好的 MySQL 驱动插件,位于 plugins/sqldrivers(Windows 下为 qsqlmysql.dll)。...values( 1, 'hello', '123456' ), ( 2, 'world', '123456' ); 准备工作已经做完了,接下来使用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程序中,就需要使用
支持多个浏览器页面同时访问 软件界面支持最小化到托盘系统 图片采用jpg格式传输 HTTP协议采用长连接方式 三、源代码 3.1 widget.h代码 #ifndef WIDGET_H #...: Widget(QWidget *parent = nullptr); ~Widget(); TcpServer server; //TCP服务器 QTimer *timer...; //内部文件 } if(ui->pushButton->text()=="启动屏幕共享") { //监听服务器 if(server.listen...=true) { QMessageBox::question(this, tr("提示"),tr("服务器监听设置失败....\n"; text+="软件采用HTTP协议方式,将图片以jpg格式传输给浏览器进行显示,启动共享功能" "之后,打开浏览器,输入正确IP地址和端口号(固定8888)即可访问屏幕画面
二、QT多线程简介 QT通过三种形式提供了对线程的支持,分别是平台无关的线程类、线程安全的事件投递、跨线程的信号-槽连接。...四、线程的同步 1、线程同步基础 临界资源:每次只允许一个线程进行访问的资源 线程间互斥:多个线程在同一时刻都需要访问临界资源 线程锁能够保证临界资源的安全性,通常,每个临界资源需要一个线程锁进行保护...在一个时刻至多一个线程拥有mutex,假如一个线程试图访问已经被锁定的mutex,那么线程将休眠,直到拥有mutex的线程对此mutex解锁。QMutex常用来保护共享数据访问。...信号量比互斥量有更好的并发性,假如我们用互斥量来控制对缓冲的访问,那么生产者、消费者不能同时访问缓冲区。然而,我们知道在同一时刻,不同线程访问缓冲的不同部分并没有什么危害。...receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection ) Qt支持5种连接方式 A、Qt::DirectConnection
「注意:DTLS服务器示例旨在与DTLS客户端示例一起运行。」 该服务器由DtlsServer类实现。...QSslConfiguration::defaultDtlsConfiguration(); serverConfiguration.setPreSharedKeyIdentityHint("Qt...handleNewConnection()验证它是可访问的DTLS客户端,或发送HelloVerifyRequest: void DtlsServer::handleNewConnection(const...如果新客户端已被验证为可访问的DTLS客户端,则服务器将创建并配置新的QDtls对象,并启动服务器端握手: ......安装目录」找到: C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\network\secureudpserver 「相关链接」 https://doc.qt.io/qt-5/qtnetwork-secureudpserver-example.html
在上章42.QT-QSqlQuery类操作SQLite数据库(创建、查询、删除、修改)详解学习了如何操作SQLite,本章来学习如何访问远程SQLite 1.首先设置共享,映射(用来实现远程访问) 将要共享的...share文件夹设置为共享(远程访问默认只能读),如果要想远程访问能够写的话,则点击权限进行修改,然后应用. ?...注意: 由于sqlite是一个文件级的轻量级数据库,如果多个程序同时访问的话,很容易出现死锁的,建议使用sqlserver , mysql
本次主要介绍一种Qt提供的访问Web URL的方法——QNetworkAccessManager。...平台:ubuntu14.04 Qt Creator 3.5.1 python2.7 简单说下应用场景: 一般的智能相机在传输图片时一般使用FTP协议,后来的相机也使用HTTP传输图片,在Qt...最开始用的时候是Qt如何获取网页数据,也就是对应的HTTP协议。 点击Sendmsg按钮,post请求。
首先想到的解决方法自然是使用Qt自带的signal/slot机制。即首先发信号给父窗口,父窗口接到信号执行槽函数发送一个携带所需数据的信号给子窗口。...直接在子窗口中利用指向父窗口的指针来访问父窗口类的成员如何?但是,这显然也牵涉到了头文件的递归包含(2)。但,不试一试怎么知道?毕竟很多事情是无法用理论来解释的。...2、尝试解决 使用环境:Qt5.0, Qt creator2.6, Windows XP sp3 32bit 创建一个主窗口类和子窗口类,在主窗口类中声明一个QString类型的成员变量,访问权限设置为...上面3所标识的问题,其实并没有严格的要求,至少在Qt Creator中没有这样的限制。你可以将该成员变量设置为private,protected, public的,但是在子窗口中照样能访问。
一、环境介绍 操作系统: win10 64位 QT版本: QT5.12.6 编译器: MinGW 32 串口调试助手,在嵌入式开发中是很常用的。...效果图 三、核心代码 3.1 widget.cpp #include "uart_mainwindow.h" #include "ui_uart_mainwindow.h" /* * 设置QT
一、功能介绍 运行环境:Windows10 64位 QT通过QAudioInput类读取声卡PCM数据,在封装WAV头,转为WAV格式的文件保存到本地。 可以选择指定的声卡录制、播放音频。...define MAINWINDOW_H #include #include #include //这五个是QT...QAudioInput> #include #include #include #include #include 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
QThreadPool 此类为Qt提供的线程池函数,使用此类只需要配置线程池的最大线程数量、线程长时间不使用的过期时间等参数,不需要进行QThread相关的操作。...局部线程池 和常规类的使用相同,可以通过QThreadPool pool;的方式建立一个局部线程池,并由当前类维护,可保证此线程池仅供当前类应用 QRunnable类 QRunnable类在Qt中是所有可运行对象的基类
Creator常用快捷键 2 Qt帮助文档的使用 3 总结 ---- 0 引言 IDE编程软件都一些使用技巧,Qt Creator也一样,本次博文总结下该软件常用的快捷方式,以及最强大的...Qt编程参考文档——Qt帮助文档的使用说明,学会查找使用该帮助文档,在做项目遇到问题时,比你在网上各种搜索答案靠谱的多啦。...1 Qt Creator常用快捷键 Qt Creator中界面上看的到的功能键,想知道它对应的快捷键,把鼠标移到这个按钮上面就会有悬浮显示,比如这个运行按钮: Qt Creator其他常用的快捷键如下...2 Qt帮助文档的使用 Qt Creator帮助文档不需要手动下载,在安装Qt时就安在了“安装目录/Qt5.12.9/Docs/”下了,html文本,可以用浏览器打开。 ...3 总结 本次博文总结了Qt Creator软件的常用快捷键,以及Qt帮助文档的使用,Qt帮助文档是非常给力和好用的,因为Qt Creator是国外软件,帮助文档自然也是英文的,不要一看到英文就慌或者烦
uos操作系统中使用QT开发RTSP 视频流服务器,以下的实现方式使用的是单播方式,除了单播模式还有多播模式。...可以通过自己开发的rtsp服务器将摄像头的数据时时推送到服务器中,其他用户可以通过访问视频流地址rtsp://127.0.1.1:8554/live,直接访问摄像头播放的内容,也就是通常说的摄像头直播。...本篇文章使用开源框架live555开发一个属于自己的视频流服务器。 安装环境依赖 live555的使用需要较多的环境依赖,一下安装都是编译依赖相关内容。...libusageenvironment3 sudo apt install libasound2-dev sudo apt install libx264-dev sudo apt install libfaac-dev 编译环境 qt...createNew(); UsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler); // 创建rtsp服务器
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
一、环境介绍 操作系统: 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的工程。
领取专属 10元无门槛券
手把手带您无忧上云