Qt
文章平均质量分 58
Qt幻想家
花未全开月未圆
关注公众号:“Qt幻想家”进群可获取更多资源
共同学习!共同进步!承接各种外包项目!毕设!
展开
-
Qt之键盘事件无法响应问题
Qt之键盘事件无法响应问题概述:代码:over:文末一句话:概述:新公司的加班第一天,在调试公司项目代码时发现个小问题,鼠标、键盘事件都已写好,但是键盘事件无效无法进入断点,接来下去查文档并没有查到相关说明,翻阅百度翻到如下代码,并进行测试有效;代码://在构造函数中添加即可this->grabKeyboard();over:欢迎大家关注作者在文末评论、点赞、转发以及批评指正!如果大家有更好的方法或有问题可以在文末评论一起讨论!共同学习!共同进步!文末一句话:新的一年第一个随原创 2022-03-05 16:14:22 · 2600 阅读 · 3 评论 -
Qt之QTreeWidget增删节点
Qt之QTreeWidget增删节点概述:.h:.cpp:over:文末一句话:概述:1.之前分享过关于QTreeWidget节点操作:链接: QTreeWidget节点操作.2.这篇文章分享下咱们技术使用的基本操作(添加节点、删除指定节点、删除所有节点).h:typedef struct{ int nType; std::string strID; std::string strEquipType; std::string strEquioName; }leftNa原创 2021-09-29 14:57:52 · 3374 阅读 · 5 评论 -
Qt自绘无边框窗口类
Qt自绘无边框窗口类概述:代码示例:CFrameWidget.h:CFrameWidget.cppCTitle.h:CTitle.cpp:CTitle.ui:TextWidget.h:TextWidget.cpp:TextWidget.ui:运行效果图:over:文末一句话:概述:功能: 无边框窗体基类,支持最小化、最大化、关闭、鼠标拖拽、鼠标按下移动等;文件说明:1.CFrameWidget.h 无边框窗体基类2.CTitle.h 窗体上方标题栏类3.TextWidget.h 测试窗体类代码原创 2021-05-10 20:00:13 · 346 阅读 · 7 评论 -
Qt之QComboBox输入等操作
Qt之QComboBox输入等操作概述:代码示例:.h:.cpp:运行效果图:over:文末一句话:概述:QComboBox控件是按钮和弹出列表的组合;组合框是显示当前内容的选择类控件,并且可以弹出可选项列表;包含很多灵活使用的属性:1.添加项addItem(const QString &text, const QVariant &userData = QVariant())addItem(const QIcon &icon, const QString &te原创 2021-03-30 17:54:06 · 4001 阅读 · 0 评论 -
Qt之读取文件夹下所有文件
Qt之读取文件夹下所有文件概述:代码示例:over:文末一句话:概述:利用QDir类获取文件夹中指定文件后缀文件;代码示例:void main_ui::getFiles(/*const QString &fileSuffix*/){ QString currDir = QString("%1/Files/").arg(QDir::currentPath()); QDir Dir(currDir); //查看工作原创 2021-03-24 10:33:15 · 8229 阅读 · 0 评论 -
Qt获取设备信息
Qt获取设备信息概述:代码示例:.h:.cpp:打印输出:over:文末一句话:概述:1.给大家分享个小案例,望日后开发上会对大家有所帮助;2.使用Qt获取当前PC的详细信息,例如:pc主机名、当前ip地址(ipv4)、cpu ID、当前使用ip的 MAC地址等等;3.案例背景是要用于软件授权加密使用;代码示例:.h:#pragma once#include <QString>class GlobalApiClass{private: GlobalApiClass()原创 2021-02-03 12:10:27 · 2372 阅读 · 1 评论 -
Vs+Qt 设置程序图标
Vs+Qt 设置程序图标概述:步骤示例:运行效果图:(此时我们的图标设置成功)over:文末一句话:概述:1.最近公司项目要进行一期交付(参与的第一个商业软甲),软件上一些好多的细节还没有落实,例如程序的图标还没设置、可执行程序还没有进行打包,这两天就在搞这两个功能基本已经都搞完等待交付,下篇文章会发布如何对软件进行打包和过程中打包软件使用及打包过程中一些注意事项;2.加载资源的步骤下面我会以图片和文字形式体现;步骤示例:1.右键我们当前工程,选择资源2.选择icon --> 将图标文件原创 2021-01-20 17:14:13 · 1179 阅读 · 1 评论 -
Qt获取机器当前日期-时间
Qt获取机器当前日期-时间概述:代码示例:over:文末一句话:概述:1.分享两种获取当前机器日期及时间方法;2.大家可以分析以下两种方法各自的优缺点,欢迎评论和私信;3.之前分享过日期与字符串之间的转换,链接:日期与字符串互转代码示例: //方法一 QDateTime dt; //日期获取和设置 QDate date; dt.setDate(date.currentDate()); QString currentDate = dt.toString("yyyy:MM:dd"); /原创 2021-01-18 16:38:36 · 6558 阅读 · 2 评论 -
Qt之打印机功能
Qt之打印机功能概述:代码示例:概述:本人在项目中需要打印一些项目文件(以图片的形式)工期两天,首先聊聊实现思路,作为一个技术屌丝的我,第一先找到Qt帮助手册对QPrinter一顿查,查完,又找度娘查看看可不可以用纯C++实现,经过以上折腾给自己的结论是如果使用Qt一天编码一天调试会很轻松的交付任务,但是不一定满足部门大佬的初心,如果使用纯C++实现两天会把自己搞的很痛苦,所以做了一个全面了解后去找技术经理碰下,避免走歪路,经过沟通和项目周期情况最后我们选定使用Qt实现打印功能,等软件升级第二版本使用纯原创 2021-01-04 20:03:49 · 5695 阅读 · 8 评论 -
Qt之窗口居中显示
Qt之窗口居中显示概述:代码示例:over:文末一句话:概述:无代码示例:#include <QDesktopWidget>QDesktopWidget *desktop = QApplication::desktop();QWidget w;w.resize(800,800);w.move((desktop->width() - w.width()) / 2,\ (desktop->height() - w.height()) / 2);w.show();原创 2020-08-25 16:29:15 · 336 阅读 · 0 评论 -
Qt之模态非模态窗口
Qt之模态非模态窗口概述:示例代码:概述:1.有的时候项目中会遇到一些用户登录窗口,这个时候我们的窗口就要是模态的,因为你只能进行登陆操作后才可以进入到程序中。2.Qt有两种方法可以实现模态窗口:(1)使用QDialog窗口->exec();(2)使用setModal()函数来实现;示例代码://方法一//绑定父指针后此指针不需要deleteModelDialog *model = new ModelDialog(this);//设置窗口状态为模态窗口model->setM原创 2020-08-21 17:50:18 · 856 阅读 · 0 评论 -
Qt之QCustomplot画图类
Qt之QCustomplot画图类概述:一、简介二、简单介绍QCustomPlot的几个重要类三、简单介绍QCustomPlot类环境部署:代码示例:.pro.h.cpp运行效果图:利用官方案例实现效果图:over:文末一句话:概述:一、简介1.QCustomPlot是Qt的一个小型第三方图表库,支持静态/动态曲线、柱状图、蜡烛图、频谱图等。使用方便,仅需在项目中加入头文件qcustomplot.h和qcustomplot.cpp源文件即可,或者把它当做一个库来添加到项目当中,需要在pro文件加入原创 2020-07-23 23:41:42 · 2210 阅读 · 0 评论 -
Qt之单次定时器
Qt之单次定时器概述:代码示例:实现一实现二实现三over:文末一句话:概述:1. 下面我们用三种实现方式吧,来实现定时器的单次触发;代码示例:实现一使用QTimer的 setSingleShot 接口实现单次定时器。 QTimer *pTimer = new QTimer(this); connect(pTimer,SIGNAL(timeout()),this,SLOT(slot_Timerout())); pTimer->setSingleShot(true)原创 2020-07-12 20:26:49 · 10595 阅读 · 3 评论 -
Qt之程序启动动画
Qt之程序启动动画概述:代码示例:main.cpp运行效果图over:文末一句话:概述:1. QSplashScreen小部件提供了一个启动屏幕,可以在应用程序启动时显示。2. 启动屏幕是一个小部件,通常在启动应用程序时显示。启动屏通常用于启动时间较长的应用程序(例如,数据库或网络应用程序需要时间建立连接),以向用户提供应用程序正在加载的反馈。启动屏幕出现在屏幕的中央。3. 相关函数就不一一进行介绍,详细信息可以参考Qt帮助手册代码示例:main.cpp#include "widget.h"原创 2020-06-25 20:17:07 · 566 阅读 · 2 评论 -
Qt之字符串转换为日期格式
Qt之字符串转换为日期格式代码:效果图:over:文末一句话:代码:QString s = "2020/6/21";QDateTime time = QDateTime::fromString(s,"yyyy/MM/dd");QString t = time.toString();// "周日 六月 21 00:00:00 2020"ui.dateEdit->setDateTime(time);效果图:over:欢迎大家关注作者在文末评论、点赞、转发以及批评指正!如果大家有更好的原创 2020-06-21 12:04:09 · 5865 阅读 · 0 评论 -
Qt之串口案例
Qt之串口案例概述:代码示例:.pro.h.cppover:文末一句话:概述:1. 今天跟大家分享下Qt的串口使用,本案例是之前配合公司项目调试自己编写的小软件2. Qt使用窗口的一些函数这里就不该大家一一介绍,函数作用直接会在代码的注释说明3. 大家忽略我的注释格式,当时项目测试着急,所以简单注释了下4. 如果大家想知道串口的通信方式以及连线方式可以参考我前面的文章5. 本案例数据模式是ACELL格式,本案例带有收发数据记录存储功能代码示例:.pro#------------------原创 2020-05-15 22:23:54 · 919 阅读 · 5 评论 -
Qt之TableWidget删除表格所有行
Qt之TableWidget删除表格所有行概述:错误代码示例:问题说明正确代码示例:over:文末一句话:概述:1. 初用这个控件大家会在删除所有行这里会出现问题,为什么删除指定行就没问题可以成功,但是删除所有行时删除失败呢!2. 因为大家删除指定行时可获取到行号即为索引,可以删除成功,在删除出所有行时我们一定是遍历删除因为表格有多少行是不可控的,所以问题来了我们先看段代码。错误代码示例:...原创 2020-04-26 18:59:04 · 10971 阅读 · 11 评论 -
Qt之Sqlite数据库
Qt之Sqlite数据库概述:代码示例:初始化并打开数据库查询表数据更新一条数据插入一条数据删除一条数据over:文末一句话:概述:1. Sqlite是一款轻量级的关系型数据库,运行速度非常快,通常是需要几百KB的内存就够2. 数据库可视化软件官方下载链接https://sqlitebrowser.org/dl/3. 本人下载使用版本为(图片)4. 运行DB Browser fo...原创 2020-04-18 23:42:04 · 704 阅读 · 0 评论 -
Qt之UDP在VxWorks6.8丢包问题
Qt之UDP在VxWorks6.8丢包问题概述:代码示例:over:文末一句话:概述:1. 环境简介:Qt4.8.5,VxWorks6.82. 使用Qt实现UdpSocket通信,在Windows环境下没有问题大量数据也不会出现丢包问题,但是程序移植到VxWorks上后出现丢包情况,说明当时解决的思路:1.使用VxWorks网络通讯函数实现Udp通讯并加入组播接收数据记录收到的包数(经过排查...原创 2020-04-09 22:26:53 · 748 阅读 · 0 评论 -
Qt之使用代码显示加载动态库
Qt之使用代码显示加载动态库 概述:示例代码:dll.hdll.cpp显示调用库代码示例:运行效果图:over:文末一句话:概述:Qt创建共享库,也就是Windows平台上的动态链接库。动态链接项目编译后生成DLL文件,DLL文件在Windows平台上广泛使用。DLL文件使应用程序运行时加载的,不像静态库那样在编译期间就编译到程序中。若更新了DLL文件版本,只要接口未变,应用程序依然可以调用。...原创 2020-04-05 16:48:17 · 2125 阅读 · 0 评论 -
Qt之设置TTL
Qt之设置TTL 概述:代码如下:over:文末一句话:概述:1.本人Qt环境为4.8.62.为什么要设置TTL:原因是在做实验时通过UDP通讯时要过两个交换机,如果你不进行TTL设置,在第二台交换机就已经收不到你的UDP报文,导致你发的报文中途丢掉了,所以要进行TTL设置(本人理解为就像游戏中你有64条命一样);代码如下:char ttl = 64; // 此处强调必须为char类型...原创 2020-04-01 20:38:11 · 2454 阅读 · 3 评论 -
Qt之配置文件.ini 使用QSettings类
Qt之配置文件.ini 使用QSettings类 概述:代码示例:.h.cpp打印输出ini文件内容图片over:文末一句话:概述:1.分享一个工作项目中使用数据库为了方便迁移数据库,所以把数据库的名字密码等相关信息写到配置文件.ini。2.QSettings的API基于QVariant,允许您以最少的工作量保存大多数基于值的类型,比如QString、QRect和QImage。3.并且使用...原创 2020-03-27 22:40:59 · 349 阅读 · 0 评论 -
Qt之创建共享库(动态库)
@TOC概述:步骤如下:1.创建一个动态库2.创建App调用动态库连接动态库的方法有三种:1.今天介绍的一种2.可以使用代码加载动态库(接下来的文章会做介绍)3.可以右键工程进行添加共享库创建动态库步骤图片:此处说明下,图片中根据需要添加模块即可下一步直到创建完成库代码示例:.h#ifndef FANTASTLIB_H#define FANTASTLIB_H...原创 2020-03-14 17:09:50 · 378 阅读 · 0 评论 -
Qt之点击PushButton弹出对话框
Qt之点击PushButton弹出对话框概述:代码示例:.h.cpp运行效果图:over:文末一句话:概述:在日常项目中会经常遇到点击按钮弹出对话框,今天分享个简单示例;1.需要包含 #include < QDialog > 头文件代码示例:.h#ifndef BUTTONCLICKDILOG_H#define BUTTONCLICKDILOG_H#include &...原创 2020-03-05 19:58:04 · 5119 阅读 · 3 评论 -
Qt之QTableWidget Tip气泡消息
Qt之QTableWidget Tip气泡消息概述:代码示例:.h.cpp运行效果图over:文末一句话:概述:实现此功能需要做两步:必须开启界面的鼠标捕获功能接收QTableWidget的信号cellEntered(int,int):代码示例:.h#ifndef MYTABLEWIDGET_H#define MYTABLEWIDGET_H#include <QWid...原创 2020-03-03 20:53:29 · 957 阅读 · 4 评论 -
Qt之QTreeWidget添加节点获取节点
Qt之QTreeWidget添加节点获取节点概述:代码示例:.h.cpp效果图:over:文末一句话:概述:QTreeWidget 类根据预设的模型提供树形显示控件。QTreeWidget 使用类似于 QListWidget 类的方式提供一种典型的基于 item 的树形交互方法类,该类基于QT的“模型/视图”结构,提供了默认的模型来支撑 item 的显示,这些 item 类为 QTreeWi...原创 2020-02-29 20:35:29 · 18081 阅读 · 11 评论 -
Qt之QTableWidget基本操作和动态添加控件
Qt之QTableWidget基本操作和动态添加控件概述:代码示例:.h.cppover:文末一句话:概述:此案例向大家分享tableWidget控件一切基本操作,比如表格禁止编辑、单击选中一行、动态添加表头、动态添加其他控件等等代码示例:.h#ifndef MYTABLEWIDGET_H#define MYTABLEWIDGET_H#include <QWidget>...原创 2020-02-25 15:36:20 · 8457 阅读 · 3 评论 -
Qt之TCP传输文件
Qt之TCP传输文件概述:代码示例:.proclient.hclient.cppserver.hserver.cpp测试结果over:文末一句话:概述:功能:TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据...原创 2020-02-20 16:12:24 · 1303 阅读 · 3 评论 -
Qt之UDP
Qt之UDP概述:代码示例:.pro.h:.cpp测试结果:over:文末一句话:概述:首先,UDP通信是无连接的,虽然不可靠但是传输效率高,UDP就像是写信,知道地址即可,TCP就像是打电话,确保目标正确。在UDP服务器端,通信套接字直接绑定,如果对方发数据,套接字自动触发readyRead(),发是通过槽函数实现。在UDP客户端,通信套接字直接绑定,如果对方发数据,套接字自动触发rea...原创 2020-02-17 19:16:21 · 609 阅读 · 0 评论 -
Qt之注册自定义类型信号槽函数
Qt之注册自定义类型信号槽函数概述:代码示例:over:文末一句话:概述:一般我们使用Qt的信号槽函数基本上都是提供的基本类型,例如:int double ;如果我们使用自定义类型会报错不支持,今天给大家介绍一个注册自定义函数;代码示例:typedef struct{ int m_Cmd; int m_SrcID; QList<int> m_DstI...原创 2020-02-05 20:09:00 · 3407 阅读 · 0 评论 -
Qt之中英文切换
Qt之中英文切换之VxWorks概述:代码如下:.pro:.h:.cpp:其他类实现切换方法:实现功能过程截图:over:文末一句话:概述:利用Qt-语言家实现中英文切换目的,解决项目需求;步骤:1.在已有工程pro中添加代码;2.在已有工程目录下创建RESOURCES文件夹(文件夹名字自取);3.添加中英切换需要头文件;4.点击QTcreator菜单栏->工具->外部-...原创 2020-01-22 21:25:25 · 4286 阅读 · 1 评论 -
Qt之读取qss文件
Qt之读取qss文件概述:代码:总结:文末一句话:over:概述:在日常开发项目中,我们会对界面一些控件进行样式设置,今天分享下如何读取qss文件;接下来的文章会分享qss文件的语法规则;代码:void Widget::initQssFiles(){ QFile file(QString("%1/AM.qss").arg(QDir::currentPath())); f...原创 2019-12-28 23:02:35 · 3080 阅读 · 0 评论 -
QListWidget如何增加和删除Item
Qt之QListWidgetItem如何增加和删除Item使用示例概述:增加 Item:删除 Item:程序效果图(简单效果图以供参考)over:概述:这里重点说明一下,删除行的时候,序号会随之改变(有序改变),在使用删除函数后一定要把删除的Item进行delete后方为删除成功增加 Item:void main_ui::getFilesToItem(){ ui->logN...原创 2019-12-15 19:53:27 · 4593 阅读 · 1 评论 -
Qt之正则表达式使用示例
Qt之正则表达式使用示例概述:限定数字 :0-9.h:.cpp:执行效果图:over:概述:利用正则表达式对表格框内数据输入进行限制,首相先介绍一个正则表达式的区间条件1.限定 0 到 9 可以写成 【0-9】2.限定 A 到 Z 可以写成 【A-Z】3.限定某些数字【110】接下来写个小案列测试一下限定数字 :0-9.h:#include <QRegExp>//QR...原创 2019-12-09 20:51:29 · 1281 阅读 · 0 评论 -
Qt之表格输入内容限制方法示例
Qt表格输入限制概述:一说到表格输入限制我们首先想到的就是"正则表达式",今天我们不使用正则表达式对表格内容进行指定类型输入限制。(此限制方法是在输入后进行错误处理)int类型:/*** @brief inputInt int类型参数输入限制范围0~360* @param row Item的行号* @param col Item的列号*/inline void inputInt(c...原创 2019-12-04 20:53:43 · 1658 阅读 · 1 评论