导航进度条控件,使用示例如淘宝订单页面的进度控件,提示当前第几步,总共有几步,然后当前进度特殊颜色显示,每个进度带有时间文字等信息。本示例演示了淘宝订单流程样式。控件自适应任何分辨率,可以自由调整自身大小以适应分辨率的改变,总步骤以及当前步骤都是自动计算占用区域比例,直接提供接口设置步骤对应的文字信息等,接口非常友好。
2026-02-06 14:54:50 4KB
1
qt环境下udt开发
2026-02-06 09:11:47 107KB
1
这个项目提供了一个基于 Qt5 + C++11 的多线程 TCP 服务端 (“Server”) 实现,名字叫 QtTcpThreadServer。其主要特点包括: 继承自 QTcpServer,监听端口并接受连接。 有多线程处理机制,把刚进来的 QTcpSocket 移动到某个工作线程中处理网络读写。 提供两种方式分配线程:一种是固定线程数量;另一种还限定每个线程处理的连接数目。这样可以控制并发连接和线程开销。 用到了 Qt5 的信号/槽(signal/slot)机制,使用了新的语法,并利用 lambda 表达式来简化代码。 另外还有一个 test-client 用来测试该 Server 的功能。仓库中还有旧版本 QLibeventTcpServer(用 libevent 的模型)以及一些“old”分支,用于对比或历史用途。 GitHub 适用人群 这个项目比较适合以下几类人: 学习 Qt 网络编程 / 多线程编程 的开发者,想了解如何结合 QTcpServer、QTcpSocket、事件循环(event loop)、线程分配、信号槽和 lambda。 需要在 Qt 框架下搭建网络服务端(TCP 协议)的初学者或中等经验者。 对性能有一定要求,希望控制连接数、线程数来避免资源浪费或线程过多开销的人。 使用场景及目标 这个工程可以用在下面这些场景,目标是搭建一个比较健壮、可控并发的 TCP 服务端: 内网或局域网环境中,需要多个客户端同时连接服务器交换数据(例如聊天、游戏、小型通信服务、监控系统等)。 用作学习或模板用途:比如自己做项目需要 TCP 服务端,可以拿这个作为基础框架改造。 用在资源有限的环境中,希望固定线程数或限制每线程连接数,以避免线程数爆炸或线程切换开销
2026-02-06 00:27:16 29KB
1
在当今的软件开发领域中,三维地球模拟已经成为了重要的应用方向之一,特别是在地理信息系统(GIS)、城市规划、气象分析、国防安全以及游戏和虚拟现实技术中有着广泛的应用。本次开发项目基于osgEarth 2.7.0和OpenSceneGraph(OSG)3.4.0,采用Visual Studio 2015和Qt 5.9.3作为开发环境,成功实现了一个功能全面的三维地球模拟系统。接下来,我们详细解读该项目的核心知识点。 osgEarth是一个强大的开源三维地理空间软件开发包,它允许开发者在应用程序中集成全球地图数据,并且以3D形式进行展示。它支持多种地图服务和数据格式,能够处理大规模的地形和图像数据。本项目采用的2.7.0版本标志着osgEarth在三维地图渲染和空间数据处理方面的成熟。 接着,OpenSceneGraph(OSG)是一个高性能的图形工具包,专注于实时场景图形渲染。OSG广泛应用于模拟、游戏、虚拟现实和科学可视化领域,其3.4.0版本为三维地球模拟提供了强大的基础支撑。开发者通过OSG可以方便地构建复杂且交互性强的3D场景。 Visual Studio 2015作为微软推出的集成开发环境,支持C++、C#、VB等多种编程语言,它提供了代码编辑、调试、性能分析、版本控制等功能。其稳定的性能和丰富的扩展性使其成为许多开发者的首选工具。Qt 5.9.3是一个跨平台的C++图形用户界面应用程序开发框架,它提供了从桌面到嵌入式系统的一致性接口和丰富的模块,其5系列版本在性能和兼容性上有着显著的提升。 在实现功能方面,项目展现了以下特点: 1. 运动物体视角跟随:通过算法确保当物体在三维空间中移动时,用户视角能够实时跟从,提供了良好的用户体验和观察效果。 2. 运动物体运动姿态调整:开发者可以对运动物体的姿态进行调整,模拟不同条件下的运动状态,包括旋转、倾斜等,使模拟更加逼真。 3. 运动轨迹:系统能够记录并显示物体的运动轨迹,便于进行路径分析、历史回溯等操作。 4. 三角形扫描面:该技术用于高效地渲染地球表面的地形,利用三角形网格实现细致的地形模拟。 5. 控制模型姿态、运动状态及坐标:开发者可以控制模型的姿态和运动状态(静止或移动),并实时获取模型当前的坐标位置,这对于场景中的物体定位和交互至关重要。 6. 添加城市坐标点:在地球模型中添加具体的城市坐标点,增强了模型的实用性,可以应用于导航、城市规划等场景。 通过这次基于osgEarth 2.7.0和OSG 3.4.0的三维地球模拟开发,我们可以看到在利用成熟的开源库和集成开发环境的条件下,即使没有专业的图形处理硬件支持,也能够开发出功能全面、交互性高的三维视觉应用。这一成果不仅展示了当前开源技术在3D视觉应用领域的巨大潜力,也为类似项目的开发提供了一定的技术参考和实践案例。
2026-02-03 15:46:44 12.54MB osgEARTH
1
QT编写的TCP通信例程是基于QT框架实现的网络通信示例,主要涉及TCP协议的客户端和服务器端程序。在编程领域,TCP(Transmission Control Protocol)是一种面向连接、可靠的、基于字节流的传输层通信协议,广泛应用于互联网中的数据交换。QT是一个流行的C++图形用户界面库,支持多种平台,包括tyni6410,这是一个可能的嵌入式或物联网设备平台。 这个chat例程展示了如何使用QT的网络模块来创建TCP客户端和服务器。在客户端,它通常会发起连接请求,发送数据到服务器,并接收来自服务器的响应。在服务器端,它会监听特定的端口,接受来自客户端的连接,接收数据并可能回送数据。 在QT中,QTcpSocket类用于处理TCP连接,无论是客户端还是服务器端。客户端使用QTcpSocket建立与服务器的连接,然后通过write()方法发送数据,而read()方法用于接收服务器的数据。服务器端则使用QTcpServer类监听连接请求,当有新的连接到来时,它会调用incomingConnection()信号,我们可以连接这个信号并创建一个新的QTcpSocket实例来处理这个连接。 在tyni6410上移植这个例程,意味着开发者已经考虑了目标平台的特性,如内存限制、处理器架构等,并确保了代码能在该平台上正确运行。移植过程可能涉及到调整编译选项、优化资源使用、处理平台特有的网络库等。 在实际应用中,TCP通信通常用于需要稳定性和顺序保证的场景,如文件传输、数据库同步和在线聊天。QT的网络模块提供了丰富的API,使得开发者可以方便地构建跨平台的网络应用程序,而无需深入理解底层网络协议的细节。 这个chat例程的源代码应该包含了以下关键部分: 1. 客户端:初始化QTcpSocket,连接到服务器的IP地址和端口号,发送聊天消息,接收并显示服务器的回应。 2. 服务器端:创建QTcpServer对象,监听指定端口,处理新连接,读取客户端发送的数据并可能回应。 3. 界面:使用QT的GUI组件如QLineEdit和QTextEdit,实现用户输入和聊天记录的显示。 4. 事件处理:连接建立、断开、数据接收等事件的处理,通常通过信号和槽机制实现。 通过学习和分析这个TCP通信例程,开发者可以掌握QT进行网络编程的基本技巧,了解如何在不同平台间进行数据交换,为构建更复杂的应用打下基础。同时,对于tyni6410这样的嵌入式平台,这个例程也可以作为理解物联网通信和设备间交互的实例。
2026-01-29 17:04:03 194KB
1
QT库是Qt公司开发的一款强大的跨平台应用程序开发框架,尤其在图形用户界面和网络通信方面表现出色。在QT中实现TCP通信,可以帮助开发者构建稳定、高效的数据传输应用。本篇文章将详细讲解QT中TCP通信的流程,并提供一个完整的代码示例。 我们需要了解TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在QT中,我们可以使用QTcpServer和QTcpSocket这两个类来实现TCP服务器和客户端的通信。 1. **创建TCP服务器** - 我们需要创建一个QTcpServer对象,并在其上绑定监听端口。这通常在主线程或单独的线程中完成。 - 通过调用`QTcpServer::listen()`方法启动监听,传入适当的QHostAddress和端口号。 - 当有新的连接请求时,QTcpServer会发出`newConnection()`信号,我们可以通过连接这个信号并处理新连接。 2. **处理连接请求** - 在服务器端,当接收到新的连接请求时,我们需要接受这个连接。通过调用`QTcpServer::nextPendingConnection()`方法获取到一个新的QTcpSocket对象,代表了与客户端的连接。 - 接收数据可以使用QTcpSocket的`read()`或`readLine()`方法,发送数据则使用`write()`方法。 3. **创建TCP客户端** - 客户端需要创建一个QTcpSocket对象,然后使用`connectToHost()`方法尝试连接到服务器,传入服务器的IP地址和端口号。 - 连接成功后,同样可以通过`write()`方法发送数据,`read()`或`readLine()`方法接收数据。 4. **错误处理和信号槽** - 在TCP通信中,错误处理至关重要。QTcpServer和QTcpSocket都提供了各种错误信号,如`error(QAbstractSocket::SocketError)`,可以捕获并处理这些信号。 - 为了响应事件,如连接建立、数据接收和发送,我们可以使用QT的信号槽机制,将相应的函数连接到这些信号。 5. **完整代码示例** 以下是一个简单的TCP服务器和客户端的QT代码示例: ```cpp // TCP服务器 class Server : public QObject { Q_OBJECT public: explicit Server(QObject *parent = nullptr) : server(parent) {} void startServer(int port) { server.listen(QHostAddress::Any, port); } private slots: void newConnection() { auto socket = server.nextPendingConnection(); connect(socket, &QTcpSocket::readyRead, this, [socket] { QByteArray data = socket->readAll(); // 处理接收到的数据 ... socket->write("数据已接收"); }); } signals: void started(); private: QTcpServer server; }; // TCP客户端 class Client : public QObject { Q_OBJECT public: explicit Client(QObject *parent = nullptr) : socket(parent) {} void connectToServer(const QString &host, int port) { socket.connectToHost(host, port); if (socket.waitForConnected()) { // 连接成功,发送数据 socket.write("你好,服务器!"); connect(socket, &QTcpSocket::readyRead, this, [this] { QByteArray data = socket.readAll(); // 处理接收到的数据 ... }); } else { // 处理连接失败 ... } } signals: void connected(); private: QTcpSocket socket; }; ``` 这个例子展示了如何在QT中使用TCP进行通信的基本流程。服务器监听特定端口,当有新连接时,读取客户端发送的数据并回应。客户端连接到服务器,发送消息并等待服务器的响应。实际应用中,你需要根据具体需求对数据处理和错误处理部分进行扩展和完善。 QT为TCP通信提供了一套简洁、高效的API,使得开发者能够轻松地在不同平台上实现可靠的数据传输功能。通过理解并掌握上述知识,你可以创建自己的TCP服务和客户端应用,实现数据的高效交互。
2026-01-29 17:02:16 9KB
1
在现代计算机视觉和三维感知技术中,Intel RealSense双目摄像头因其高精度和易用性,在机器人视觉、增强现实、生物识别等众多领域得到了广泛的应用。将此摄像头与强大的跨平台应用开发框架QT结合,并利用mingw编译环境和OpenGL进行图像处理和三维渲染,可以让开发者更容易地创建出功能丰富的应用程序。本项目提供了一套完整的解决方案,包括了集成开发环境(IDE)设置、SDK配置、源代码文件和编译指令等,旨在降低开发者的入门门槛,加速项目的开发进度。 项目的代码结构包括了几个主要的模块。首先是camera.cpp文件,它包含了与Intel RealSense摄像头通信和数据获取的相关代码,是整个应用程序数据来源的基础。在这个模块中,开发者需要根据摄像头的SDK文档编写相应的代码以实现对摄像头的初始化、配置、数据流的启动和停止等操作。 接下来是glwidget.cpp,这个文件主要用于OpenGL渲染工作,它负责将摄像头捕捉到的图像数据转换为OpenGL可识别的格式,从而在窗口中展示出来。此部分代码涉及OpenGL上下文的创建、纹理的生成和更新等技术点,是实现双目摄像头视觉应用的关键。 tipdialog.cpp文件定义了一个弹出提示框工具,它允许在应用程序运行时向用户提供信息反馈。通过这个工具,开发者可以在必要的时候给用户显示警告、错误信息或操作提示等,提高了应用程序的用户体验。 common.cpp文件是一个包含了项目中可能使用到的通用函数和类定义的源文件。这部分代码通常会包含日志记录、辅助功能以及可能的全局变量和常量等。 mainwindow.cpp则是整个项目的主窗口部分,它通过QT的信号和槽机制与其他模块进行交互,处理用户输入并更新UI,是用户与程序交互的前端界面。 main.cpp文件是整个项目的入口点,它负责初始化QT环境,加载主窗口,并处理程序退出等生命周期事件。在main.cpp中,开发者通常会设置好整个程序的运行逻辑和启动顺序。 除了源代码文件,项目还提供了一个Makefile.Debug文件,这是开发者在使用mingw进行项目调试时需要的编译脚本。Makefile的存在可以简化编译过程,开发者只需通过简单的命令即可完成项目的构建和调试。 最后是用户界面相关文件ui_mainwindow.h和ui_tipdialog.h,这些文件由QT的UI设计工具自动生成,包含了窗口和控件的界面布局和属性定义。通过这些文件,开发者可以直观地调整窗口元素,实现对界面的定制化设计。 整体来看,本项目是一个集成了QT、mingw、Intel RealSense双目摄像头SDK和OpenGL技术的完整项目代码,为开发者提供了一个可以快速上手和深入学习的平台。通过研究和分析该项目代码,开发者不仅能够了解到如何将这些技术融合到一个实际的应用程序中,还能在此基础上进行二次开发和创新,为自己的项目添砖加瓦。
2026-01-29 15:38:36 20.66MB IntelRealSense OpenGL
1
压缩包包含三个文件: vs_Community.exe vs2019 win10 x64 qt-creator-opensource-windows-x86_64-5.0.3.exe qt-creator windows MSVC2019 x64 Qt5.15.2 qt-unified-windows-x64-4.6.1-online.exe Qt在线安装包,可以安装Qt5.15.2 可在win10 x64环境下安装基于Qt5.15.2的开发环境,可用于Qt的自定义控件,支持在qt-creator中加载
2026-01-29 08:40:38 296.39MB
1
项目简介 本系统通过STM32采集温湿度数据,经ESP32无线传输至云端,结合QT上位机实现可视化监控,适用于智能家居、工业环境等场景,具备高精度、低功耗、易扩展的特点。 功能特点 实时监测:温湿度数据采集频率可调,支持本地OLED显示与云端同步; 远程访问:基于MQTT协议实现数据远程传输,支持上位机远程监测; 超限报警:蜂鸣器自动触发报警,温度阈值可自定义设置; 数据融合:双传感器(DHT11+NTC)结合算法优化,可降低测量误差。 硬件需求 模块 型号/规格 主控芯片 STM32F103C8T6 无线通信模块 ESP32-WROOM-32 温湿度传感器 DHT11 温度传感器 NTC热敏电阻(10kΩ@25℃) 显示模块 0.96寸OLED(I2C接口) 报警模块 5V有源蜂鸣器 辅助元件 4.7kΩ上拉电阻、0.1μF电容等 软件依赖 开发环境:Keil MDK(STM32)、ESP-IDF v5.3(ESP32)、Qt Creator 6.0(上位机); 通信协议:MQTT(用于设备-云端交互)、UART(STM32与ESP32通信,与传感器通信); 库文件:STM32标准库、ESP-IDF库、QT MQTT库。 使用说明 固件烧录: STM32:通过Keil MDK编译固件,经USB转TTL模块烧录; ESP32:使用ESP-IDF编译工程,通过串口下载至模块; 上位机配置: 在Qt Creator中自编译上位机程序,或使用已经编译的发行版。 在配置面板中配置MQTT服务器地址、订阅主题、端口号,连接设备即可接收数据。 连接成功后,点击环境监测面板即可对数据进行监测、分析、处理。
2026-01-24 20:31:48 5.66MB STM32 ESP32
1
qt-everywhere-src-5.12.10.tar.xz
2026-01-21 16:57:38 486.1MB
1