
Qt
文章平均质量分 73
小狮子安度因
个人站点:http://huangyanjie.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Qt自定义 Qt Designer 插件
QWBattery 类的定义与上一篇文章中的定义基本一样,只是在声明类的时候需要添加一个宏,并且用Q_PROPERTY宏定义了一个属性 powerLevel。Q_OBJECTpublic:signals:private:protected:QDESIGNER_WIDGET_EXPORT 宏表示将自定义的组件类从插件导出给 Qt Designer 使用,必须在类名钱使用此宏。Q_PROPERTY 宏定义属性,这里定义了一个 int 类型的属性 powerLevel。原创 2024-12-01 22:25:16 · 1669 阅读 · 0 评论 -
Qt自定义 Widget 组件
Qt 的 UI 设计器提供了很多 GUI 设计的界面组件,可以满足常见的界面设计需求。但是某些时候需要设计一些特殊的界面组件,而在 UI 设计器的组件面板里根本没有合适的组件,这时就需要设计自定义的界面组件。所有界面组件的基类是 QWidget,要设计自定义的界面组件,可以从 QWidget 继承一个自定义的类,重定义其事件,利用 Qt 的绘图功能绘制组件外观,并实现需要的其他功能。原创 2024-11-30 22:32:24 · 1084 阅读 · 0 评论 -
Qt数据库操作-QSqlQueryModel 的使用
QSqlQueryModel 是 QSqlTableModel 的父类。QSqlQueryModel 封装了执行 SELECT 语句从数据库查询数据的功能,但是 QSqlQueryModel 只能作为只读数据源使用,不可以编辑数据。接口函数功能描述清除数据模型,释放所有获得的数据返回上次的错误,可以获取错误的类型和文本信息返回当前关联的 QSqlQuery 对象设置一个 QSqlQuery 对象,获取数据设置一个 SELECT 语句创建查询,获取数据返回一个空记录,包含当前查询的字段信息。原创 2024-11-28 20:37:04 · 1455 阅读 · 0 评论 -
Qt如何改变串口读取数据的频率
虽然不能直接控制外部设备发送数据的频率,但你可以通过调整串口的波特率、数据位、停止位等参数来确保数据能够正确接收。信号,当串口缓冲区中有可读数据时,该信号会被触发。你可以连接这个信号到一个槽函数,在槽函数中读取数据。因此,这里的10毫秒是一个超时时间,用于避免长时间阻塞。如果数据到达的频率非常高,你可能需要在读取数据后进行缓冲和处理,以避免数据丢失或处理不及时。如果你希望以固定的频率读取数据,可以使用QTimer来轮询串口缓冲区。这种方式下,读取数据的频率完全由外部设备发送数据的频率决定。原创 2024-11-27 21:20:50 · 658 阅读 · 0 评论 -
QSqlTableModel的使用
如果是网络型数据库,如 Oracle、MS SQL Server 等,还需要使用 setHostName() 设置数据库主机名,setUserName() 设置数据库用户名,setPassword() 设置数据登录密码。选择模型的作用是当用户在 TableView 组件上操作时,获取当前选择的行、列信息,并且在选择的单元格变化时发射 currentChanged() 信号,在当前行变化时发射 currentRowChanged() 信号。函数将数据表的所有字段名添加到界面上的“下拉框”。原创 2024-11-27 21:17:50 · 1806 阅读 · 0 评论 -
Qt SQL模块概述
Qt SQL 提供了一些常见数据库的驱动,包括网络型数据库,如 Oracle、MS SQL Server 等,也包括简单的单机型数据库。这样会将某个 Qt SQL 模块中的所有类都包含进去,如果只使用其中的某些类,为避免冗余可哟单独包含某个类。参考资料:https://it.0voice.com。原创 2024-11-26 20:39:46 · 636 阅读 · 0 评论 -
QPainter基本几何绘制
弧线QRect rect(w/4, h/4, w/2, h/2);int startAngle = 90 * 16;int spanAngle = 90 * 16;painter.drawArc(rect, startAngle, spanAngle);弦QRect rect(w/4, h/4, w/2, h/2);int startAngle = 90 * 16;int spanAngle = 90 * 16;painter.drawChord(rect, startAngle, s原创 2024-11-25 00:13:35 · 395 阅读 · 0 评论 -
QPainter基本绘图
Qt 的绘图系统使用户可以在屏幕或打印设备上用相同的 API 绘图,绘图系统基于 QPainter、QPaintDevice 和 QPaintEngine 类。QPainter 是用来进行绘图操作的类,QPaintDevice 是一个可以使用 QPainter 进行绘图的抽象的二维界面,QPaintEngine 给 QPainter 提供在不同设备上绘图的接口。函数的代码,在界面上绘制如上图所示的一个填充矩形,演示了 QPainter 绘图的基本过程。事件,在此事件里编写绘图代码。原创 2024-11-23 16:29:11 · 946 阅读 · 0 评论 -
PyQt的安装和再PyCharm中的配置
安装pip install pyqt5 -i https://pypi.tuna.tsinghua.edu.cn/simplepip install pyqt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple配置QtDesignerName:自己取Program:上面的路径Working directory:$FileDir$PyUicName:自己取Program:上面的路径Arguments:$FileName$ -o原创 2024-11-22 14:44:21 · 513 阅读 · 0 评论 -
Qt文件目录操作
QCoreApplication 是为无 GUI 应用程序提供事件循环的类,是所有应用程序类的基类,其子类 QGuiApplication 为有 GUI 界面的应用程序提供流控制和主要设定,QGuiApplication 的子类 QApplication 为基于 QWidget 的应用程序提供支持,包括界面的初始化等。函数原型功能返回应用程序的启动路径返回应用程序的带有目录的完整文件名返回应用程序名称,无路劲无后缀返回动态加载库文件时应用程序搜索的目录列表为应用程序设置一个机构名。原创 2024-11-15 20:02:01 · 1847 阅读 · 0 评论 -
如何使用CMake开发Qt应用程序
使用CMake开发Qt应用程序是一个高效的方式,下面将详细介绍如何配置、使用工具以及编写CMake文件。原创 2024-11-12 15:59:47 · 980 阅读 · 0 评论 -
Qt滑动条美化自定义
函数实现,用于初始化和设置滑块控件的样式。通过使用Qt样式表(QSS),可以自定义滑块的外观。设置字体大小为矩形宽度的一半,以便在控件中适当显示数值。将当前滑块值以文本形式居中绘制到之前计算出的矩形区域内。下面是hi控件的头文件,我们继承一个Qt原生的滑动条类。参考资料:https://it.0voice.com。如果克隆失败请再试一次,或者直接选择下载。这段代码是一个自定义的Qt滑块控件。通过样式获取滑块句柄的位置和大小。原创 2024-11-12 15:57:40 · 887 阅读 · 0 评论 -
Qt文件系统-二进制文件读写
除了文本文件之外,其他需要按照一定的格式定义读写的文件都称为二进制文件。每种格式的二进制文件都有自己的格式定义,写入数据时按照一定的顺写入,读出时也按照相应的顺读出。例如地球物理中常用的SEG-Y格式文件,必须按照其标准格式要求写入数据才符合这种文件的格式规范,读取数据时也需要按照格式定义来读出。Qt 使用 QFile 和 QDataStream 进行二进制数据文件的读取。QFile 负责文件的 IO 设备接口,即与文件的物理交互,QDataStream 以数据流的方式读取文件内容或写入文件内容。原创 2024-11-11 22:15:07 · 2900 阅读 · 0 评论 -
Qt文件系统-文本文件读写
文本文件是指以以纯文本格式存储的文件,例如用 Qt Creator 编写的 C++ 程序的头文件和源文件。HTML 和 XML 文件也是纯文本文件,只是读取之后需要对内容进行解析之后再显示。Qt 提供了两种读写纯文本文件的基本方法,一种是用QFile类的QIODevice读写功能直接进行读写,另一种是利用QFile和结合起来,用流(Stream)的方法进行文件读写。原创 2024-11-10 22:26:50 · 1890 阅读 · 0 评论 -
QtThread线程同步和缓冲区设计
在多线程应用程序中,由于多个线程的存在,线程之间可能需要访问同一个变量。例如,在上一个例子中,工作线程产生随机的骰子点数,主线程读取骰子点数并显示,主线程需要等待工作线程产生一个新的骰子点数后再读取数据。定时器的定时周期设置为 100ms,小于 threadA 产生一次新数据的周期(500ms),所以可能读出旧的数据,通过存储的投骰子的次数与读取的投骰子次数是否不同,判断是否为新数据。这种情况下,这样的代码段时希望杯保护起来的,在执行过程中不能被其他线程打断,以保证计算结果的完整性,这就是线程同步的概念。原创 2024-11-08 18:37:53 · 933 阅读 · 0 评论 -
Qt多线程- QThread 创建多线程程序
今天说一下 Qt 中的多线程。QThread类不依赖平台的管理线程的方法。一个QThread类的对象管理一个线程,一般从QThread继承一个自定义类,并重新定义虚函数run(),在run()函数里实现线程需要完成的任务。将应用程序的线程称为主线程,额外创建的线程称为工作线程。一般在主线程里创建工作线程,并调用start()开始执行工作线程的任务。start()会在内部调用run()函数,进入工作线程的事件循环,在run()函数里调用exit()或quit()可以结束线程的事件循环,或在主线程调用。原创 2024-11-05 21:24:10 · 1119 阅读 · 0 评论 -
Qt获取磁盘信息+表格显示
命令,该命令在类 Unix 系统中用于显示文件系统的磁盘空间占用情况。如果此参数是 UNC 名称,则必须包含尾随反斜杠,例如“\MyServer\MyShare\”。指向变量的指针,该变量接收磁盘上可供与调用线程关联的用户使用的可用字节总数。指向变量的指针,该变量接收磁盘上可供与调用线程关联的用户使用的字节总数。如果使用每用户配额,此值可能小于磁盘上的可用字节总数。如果使用每用户配额,此值可能小于磁盘上的字节总数。指向接收磁盘上可用字节总数的变量的指针。,则该函数使用当前磁盘的根。此参数可以为 NULL。原创 2024-10-14 05:13:25 · 690 阅读 · 0 评论 -
Qt在Win,Mac和Linux的开机自启设置
使用注册表来管理开机自启的应用程序。来管理开机自启的应用程序。原创 2024-10-12 15:22:49 · 812 阅读 · 0 评论 -
QChart绘制折线图
下面是主窗口类MainWindow的类定义(省略了Action和界面组件的槽函数定义)。在文件重需要包含QtChart,并使用宏导入命名空间。Q_OBJECTpublic:private:// 当前序列// 当前坐标轴// 创建图表// 更新数据// 从图表更新到界面private:在MainWindow类中定义了两个私有的变量,curSeries用于指向当前的序列,界面上对序列的设置操作都是针对当前选择的序列;curAxis用于指向当前的QValueAxis。原创 2024-08-25 20:39:26 · 1778 阅读 · 2 评论 -
QtChart1-基础入门
Qt Charts模块是一组易于使用的图标组件,它基于Qt的架构,其核心组件是QChartView和QChart。QChartView的父类是,就是架构中的视图组件,所以,QChartView是用于显示图标的视图。QChart的继承关系如图:可以看到,QChart是从继承而来的,所以,QChart是一种图形像。是用于绘制极坐标图的图表类,它从QChart继承而来。想要使用Qt Charts模块,必须在项目的配置文件重添加模块。原创 2024-08-24 05:09:21 · 997 阅读 · 0 评论 -
QModbus例程分析
Modbus是一种常用的串行通信协议,被广泛应用于工业自动化领域。它最初由Modicon(目前属于施耐德电气公司)于1979年开发,旨在实现PLC(可编程逻辑控制器)和外部设备之间的数据交换。Modbus协议以其简单性、可靠性和广泛的兼容性,成为了工业自动化领域中最流行的通信协议之一。它支持多种电气接口和传输介质,适用于各种设备和系统之间的数据交换。同时,Modbus协议还具有良好的可扩展性和灵活性,能够满足不同应用场景的需求。原创 2024-08-07 22:23:15 · 831 阅读 · 0 评论 -
Qt开发网络嗅探器03
主要一点就是要知道父类数据包的type字段对子类数据包的分类,然后将数据包拷贝储存到全局容器里面。原创 2024-07-21 23:37:43 · 529 阅读 · 0 评论 -
Qt开发网络嗅探器02
主要是两个ComboBox和两个Pushbutton还有TableWidget和TreeWidget。书接上文,我们要写出主窗口,先来看一下成品。原创 2024-07-21 23:31:25 · 370 阅读 · 0 评论 -
Qt开发网络嗅探器01
extern pcap_if_t *alldevs:wp的类型,指向⼀个存储所有⽹卡的容器。UDP 类型套接字的功能有很⼤的不同:TCP/UDP 类型的套接字只能够访问。传输层以及传输层以上的数据,因为当 IP 层把数据传递给传输层时,下层的。extern pcap_if_t *d:wp的类型,指向⼀个⽹卡的设备。随着互联网的快速发展和普及,人们对网络性能、安全和管理的需求日益增。在复杂的网络环境中,了解和监控网络中的数据流量、安全事件和性能。监听网络上的数据流量,提供了对网络通信的深入洞察。原创 2024-07-20 23:49:18 · 1298 阅读 · 0 评论 -
关于QtCreator使用fcitx无法输入中文的解决方法(从根本解决问题)
你肯定看了很多文章才看到这里,但是你肯定也是看了很多文章也没有解决,那你看到这里就解决了,接着往下看。编译好之后,将so文件拷贝到你看到的其他文章说的那两个文件夹,755权限,重启QtCreator。记住是QtCreator版本,不是Qt版本。qtcreator在使用fcitx或者fcitx5输入框架的时候无法输入中文。我是Qt5,所以只要On一个QT 5。然后光标位置,改成On,只要编译插件。fcitx就下载fcitx-qt5,fcitx5就下载另外一个。qt没有自带fcitx和fcitx5的输入插件。原创 2023-12-31 21:28:35 · 1565 阅读 · 0 评论 -
关于linux的qt发布(linuxdeployqt)中opengl版本过高的解决
关于linux的qt发布(linuxdeployqt)中opengl版本过高的解决原创 2023-12-19 14:16:26 · 602 阅读 · 2 评论 -
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
准备你的proto文件然后用模板编译,将user.proto换成你的。进入bin的bebud或者release文件夹目录打开cmd,不会cmd的看图。- 如果出现和”_WIN32_WINNT“有关的报错,就添加编译宏。- 附加依赖项将我提供的liblist内容复制进去。- 如果出现”功能测试宏的参数必须是简单标识符“- 设置附加包含目录include下。- 设置包含目录include下。- 如果出现”常量中有换行符“- 如果没有Qt+vs的插件。- 附加库目录lib下。- 设置库目录lib下。原创 2023-08-24 17:21:39 · 965 阅读 · 1 评论 -
关于Qt的pri模块化编程详解
今天在移植一份代码的时候遇到了了Qt的`pri`文件,在优快云上看了一下怎么用,都告诉我新建文件夹,直接Ctrl+S的,试了半天不行,看了一下需要移植的代码,茅塞顿开,分享给大家详细过程。新建一个txt文件改为.pri文件。新建应该form文件夹保存模块。在资源管理器中打开文件夹。原创 2023-05-23 14:08:36 · 304 阅读 · 1 评论