QT
Slow-Down
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
qt获取多窗口中活动窗口
给活动窗口发送按键事件,直接上测试代码。原创 2023-12-28 15:03:19 · 1005 阅读 · 0 评论 -
QT判断QString是否为纯数字
qstring转数字转载 2022-06-15 08:43:03 · 1862 阅读 · 0 评论 -
Qt QProcess
目录概述实 现一、函数接口二、执行命令三、管 道概述本文介绍,在Linux环境下,使用Qt中的QProcess类执行shell命令并获取输出。头文件:#include <QProcess>实 现一、函数接口QProcess类提供了三个函数1、QProcess::execute() 以堵塞方式的执行shell命令,当命令执行完成后,调用进程才会继续执行。命令输出的任何数据都将转发给调用进程输出(因此无法捕获)。2、QProcess::start() 以异步方式的执行shell命转载 2022-05-26 15:28:52 · 1991 阅读 · 0 评论 -
记录Qt编写MQTT客户端,注册OneNet使用MQTT协议与Nb模块通信
OneNet部分该部分主要是在移动端拿到三个重要信息,产品号,设备号,鉴权信息。OneNet部分作用可理解为信息转发部分。OneNet官网注册部分直接参考官网文档MQTT界面,选择多协议接入自行参考官方文档创建产品,添加设备创建产品后就能得到产品号,第一个重要信息添加设备会设置鉴权信息,完成后可以得到另外两个重要信息,设备号,鉴权信息点击设备详情即可看到设备ID,鉴权信息另外可先自行下载官方测试的工具下载...原创 2021-12-02 17:43:33 · 3084 阅读 · 10 评论 -
QListWidget使用,文件列表
源码点此以上只是读取路径中的文件,将文件用列表方式显示出,打开文件等对文件操作可根据自己需求添加#include "fileopendlg.h"#include <QPainter>#include <QMessageBox>FileOpenDlg::FileOpenDlg(QWidget *parent) : QWidget(parent){ DisW = 640; DisH = 480; this->setFixedSize..原创 2021-11-10 13:12:08 · 1078 阅读 · 0 评论 -
QDateTimeEdit控件设置透明
效果代码 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); m_setTime = new QDateTimeEdit(QDateTime::currentDateTime(),this); m_setTime->setDisplayFormat("yyyy-MM-dd hh:mm:ss");原创 2021-11-03 16:19:29 · 554 阅读 · 0 评论 -
QT自定义控件----电池
网上参考一些代码修改了一个电池控件#ifndef BATTERY_H#define BATTERY_H#include <qframe.h>#include <stdint.h>class Battery : public QFrame{ Q_OBJECTpublic: Battery(QWidget *parent = nullptr); QColor PenColor; QColor BkColor; QColo原创 2021-08-25 17:03:16 · 535 阅读 · 1 评论 -
QT TCP传输文件
界面如上,近期研究了一下,参考网上别人程序自己做了修改,没有用多线程所以在传输时候有时候会出现卡顿,该程序只时候传小文件,因为定义文件大小是quint32类型,理论上只能传4G以下的文件,文件保存路径程序中有显示1、监听2、连接3、打开文件4、发送...原创 2021-07-13 15:06:15 · 1042 阅读 · 1 评论 -
Qt自定义类中对UI界面控件进行操作(修改)
QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后在新类里面怎么访问呢,以MainWindow为例创建工程包含MainWindow.cpp 、MainWindow.h 、MyClass.cpp 、MyClass.h,1、将MainWindow.h 中的Ui::MainWindow *ui;由private改为publicclass MainWindow : public QMainWindow{ Q_OBJECTpublic:原创 2021-03-25 15:36:59 · 4607 阅读 · 6 评论 -
QT的TCP连接多线程实现
感谢这位博主的思路qt的tcp服务器有两个socket一个是监听套接字(QTcpServer),一个是通信套接字(QTcpSocket),因为我只需要TCP服务器端线程的实现就将该部分移植整理了一下,因为我所用到就是在子线程里面进行socket的连接所只针对我移植后的代码进行梳理,当然博主的思路已经完美实现了TCP的多线程由线程ID可见Socket客户端都是在子线程中进行连接在客户端断开两个连接服务器端断开后重新进行监听,客户端连接后子线程重新创建主线程(服务器端)断开连接界面没整很复杂原创 2021-03-24 11:27:04 · 14664 阅读 · 32 评论 -
QT的qRegisterMetaType和qRegisterMetaType
以下只为自己的问题记录参考理解qRegisterMetaType使用方法如下:1、注册位置:在第一次使用此类链接跨线程的signal/slot之前,一般在当前类的构造函数中进行注册;2、注册方法:在当前类的顶部包含:#include ,构造函数中加入代码:qRegisterMetaType(“Myclass”);3、Myclass的引用类型需单独注册:qRegisterMetaType(“Myclass&”);Q_DECLARE_METATYPE1、这个宏用来注册一个类(含默认构造、默原创 2021-03-22 17:17:34 · 2919 阅读 · 0 评论 -
QT中deleteLater()函数
查了一些资料,对其理解就是,Qt 是事件驱动的,QT中建议不要直接Delete掉一个QObject而去使用deleteLater()函数,当QObject正在接受事件队列时被销毁掉会出错,如果一定要这样做,建议使用QObject的deleteLater()函数,它会让所有事件都发送完一切处理好后马上清除这片内存,而且就算调用多次的deletelater也不会有问题...原创 2021-03-19 16:08:04 · 1687 阅读 · 0 评论 -
error: no matching function for call to ‘MainWindow::connect()
今天在使用QComboBox进行信号与槽绑定时遇见错误connect(ui->Gain,&QComboBox::activated,this,&MainWindow::ComSignals);给出提示C:\Users\TT\Desktop\qt\TcpCharts2\mainwindow.cpp:25: error: no matching function for call to 'MainWindow::connect(QComboBox*&, <unres原创 2021-03-09 16:55:40 · 1999 阅读 · 0 评论 -
Qt中QObject::sender()的用法
当某一个Object emit一个signal的时候,它就是一个sender,系统会记录下当前是谁emit出这个signal的,所以你在对应的slot里就可以通过 sender()得到当前是那个对象调用了你的slot,对应的是QObject->d->sender.例如:多个按键对应一个按键处理槽函数,这时候就需要判断是哪一个按键发出信号触发了槽函数,这时候就可以通过sender的不同来进行不同的处理QPushButton*editor = qobject_cast<QPushButto原创 2021-03-09 16:14:51 · 1563 阅读 · 0 评论 -
warning: use of old-style cast
qt是c++写的,里面的类型强制转换如果用c的方式则会出现如下警告warning: use of old-style cast最近将float类型转换为字符串用到QString::asprintf函数,下面是保留两位小数,其中编译器给出警告要将float的 i 转换为double,于是照做float i=12.235;QString str;str = QString::asprintf("%.2f",(double)(i));接着就出现标题的警告其解决方式转换部分改成如下str = Q原创 2021-03-09 14:46:44 · 12345 阅读 · 0 评论 -
Qt charts动态实时波形显示
先看效果吧原理很简单,就是每次定时器进入的时候将波形数据往前移动50个点,不多说直接上代码#include "mainwindow.h"#include "ui_mainwindow.h"#include <QtMath>const quint16 DataMaxSize = 1024;MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){原创 2021-03-03 21:19:41 · 3383 阅读 · 2 评论 -
使用QChartView做折线图
基本概念坐标轴-QAbstractAxis:图表中,一般都有 X、Y 坐标轴,复杂一些的还带有 Z 轴。对应到 Qt 的图表也有 X、Y 轴对象。但是今天,我们先不展开介绍。如果我们不创建轴坐标对应的对象,可以使用 Qt 的默认轴对象。系列-QAbstractSeries:不论是曲线、饼图、棒图还是其他图表,其中展示的内容本质都是数据。一条曲线是一组数据,一个饼图也对应一组数据。在 Qt Charts 中,这些一组组的数据被称作系列。对应不同类型的图表 Qt 提供了不同的系列。系列除了负责存储、访问原创 2021-03-03 15:07:11 · 2191 阅读 · 1 评论 -
qt tcp服务器1对多
因为与单片机进行通信,所以只研究了下tcp的服务器端qt的tcp服务器有两个socket一个是监听套接字(QTcpServer),一个是通信套接字(QTcpSocket),创建一个tcpServer对象设置好端口Ip后开始监听tcpServer->listen(QHostAddress(ip),port)成功监听返回true,当有连接连上tcpServer会触发newConnection信号,newConnection信号对应的槽函数进行通信套接字的连接,以下是监听套接字连接与断开源码void原创 2020-11-23 09:44:43 · 1250 阅读 · 0 评论 -
Qt 命令行(控制台)切换路径
如图所示,通过cd切换路径不行,但是直接c:可以切换路径原创 2020-11-23 08:51:10 · 2176 阅读 · 2 评论 -
Qt 布局
sizeHing推荐尺寸与size区别QSize sizeHint();//推荐尺寸只能重载修改QSize size();//不包含边框的窗口尺寸QSizePolicy::PolicyFlag尺寸策略GrowFlag //必要时可超过推荐尺寸ExpandFlag //尽可能扩展ShrinkFlag//必要时可小于推荐尺寸lgnoreFlag //缺省大小被忽略将上面几个属性拼起来Qt给了另外一套属性QSizePolicy::PolicyFixed 0原创 2020-11-16 14:10:26 · 527 阅读 · 0 评论 -
Qt QObject遍历ui界面上控件,并对一类控件进行修改
通过QObjectList可以访问ui界面的控件的名字,找到名字后就可以实现一些其它的功能ui界面如下#include "testqt.h"#include <QDebug>testqt::testqt(QWidget *parent) : QWidget(parent){ ui.setupUi(this); QObjectList cs = this->children();//children()返回的是所有子节点,此时返回的是widget下的控件原创 2020-11-13 14:13:37 · 3588 阅读 · 0 评论 -
Qt 的.pro文件
这样就可以在控制台看到调试信息CONFIG += console原创 2020-11-12 20:20:19 · 237 阅读 · 0 评论 -
Qt QLineEdit用作密码输入时的使用
#include "testqt.h"#include <QIntValidator>testqt::testqt(QWidget *parent) : QWidget(parent){ ui.setupUi(this); /* enum EchoMode { Normal,//默认普通模式 NoEcho,//输入内容有但是显示不出来(类似linux输入密码) Password,//显示密码 PasswordEchoOnEdit//编辑的原创 2020-11-12 20:03:57 · 1813 阅读 · 0 评论 -
Qt QLineEdit通过正则表达式方式格式输入邮箱并且验证是正确
#include "testqt.h"#include <QIntValidator>void testqt::Save()//验证邮箱是否成功{ ui.label->setText(ui.lineEdit->text()); const QValidator *v = ui.lineEdit->validator(); int pos = 0; /* 返回 enum State { Invalid,不正确 Intermedi原创 2020-11-11 09:35:27 · 2050 阅读 · 0 评论 -
QT QLineEdit格式化输入子网掩码
ui.lineEdit->setInputMask("000.000.000.000;0");可查阅手册进行其它格式化匹配原创 2020-11-10 16:10:47 · 576 阅读 · 0 评论 -
Qt QLineEdit的撤销与重做
在开发中会遇到对文件进行删除后,再次进行编辑就涉及到撤销和重做的功能QLineEdit的槽函数redo重做undo撤销redo();//重做undo();//撤销原创 2020-11-10 15:41:00 · 962 阅读 · 0 评论 -
Qt QLineEdit文本为空时默认显示提示信息
效果为了防止中文乱码使用QString::fromLocal8Bit转换为本地默认编码ui.lineEdit->setPlaceholderText(QString::fromLocal8Bit("提示输入"));原创 2020-11-10 15:06:49 · 6302 阅读 · 1 评论 -
Qt QString在Vs中中文乱码
在Vs2017环境下运行#include <QtWidgets/QApplication>#include <Qstring>#include <Qdebug>#include <iostream>using namespace std;int main(int argc, char *argv[]){ QApplication a(argc, argv); QString str = "中文测试"; qDebug() <&l原创 2020-11-09 23:43:48 · 1637 阅读 · 0 评论 -
Qt 正则表达式对QString进行查找、替换、切割
以下只对正则表达式进行简单的应用QString 正则表达式规则关键字和示例:" . "匹配任意字符" + " 匹配一个到多个" * " 匹配0到多个QRegExp正则表达式规则关键字和示例:“^”表示匹配字符串的开始位置“$”表示匹配字符串结束位置“?”前一个匹配是可选的,也就是可有可无#include <QtWidgets/QApplication>#include <Qstring>#include <Qdebug>#include原创 2020-11-09 21:28:19 · 9076 阅读 · 1 评论 -
Qt Qstring字符串的查找、替换、切割操作
文章目录查找替换replace字符串切割查找直接上代码#include <QtWidgets/QApplication>#include <Qstring>#include <Qdebug>#include <iostream>using namespace std;int main(int argc, char *argv[]){ QApplication a(argc, argv); QString str = "xcjasd原创 2020-11-09 20:48:38 · 35369 阅读 · 1 评论 -
Qt QString转整型
代码#include <QtWidgets/QApplication>#include <Qstring>#include <Qdebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); QString num = QString::number(14); qDebug() << num; int i = num.toInt(); qDebug() <原创 2020-11-06 16:21:23 · 3042 阅读 · 0 评论 -
Qt QString格式化字符串转换
上代码#include <QtWidgets/QApplication>#include <Qstring>#include <Qdebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); QString str=QString("name=%1 arg=%2 %3 %4 %5") .arg("xiaoming") .arg(15) .arg(12.4) .原创 2020-11-06 16:13:46 · 1580 阅读 · 0 评论 -
QT QString之字符串拼接
直接上代码 QString str="test1"; str += "test2"; str += 'A'; str.append("test3"); qDebug() << str << endl;结果"test1test2Atest3"使用qDebug()打印发现输出结果是带双引号的,拼接的方式可以使用+=和append()方法,字符串除了使用=进行初始化,还可以使用构造函数直接进行字符串初始化如下QString str("test1");...原创 2020-11-06 15:56:35 · 11563 阅读 · 0 评论 -
Qt QString中的isEmpty()和isNull()使用
QString str; if (str.isNull()) { qDebug() << "isNull1" << endl; } if (str.isEmpty()) { qDebug() << "isEmpty1" << endl; } str = ""; if (str.isNull()) { qDebug() << "isNull2" << endl; } if (str.isEmpty())原创 2020-11-06 15:44:45 · 8344 阅读 · 4 评论 -
Qt4中QtGui在Qt5中头文件不一样
//Qt4中#include <QtGui>//Qt5#include <QtWidgets>原创 2020-10-10 11:39:14 · 555 阅读 · 0 评论 -
QT 实现按键全透明
setStyleSheet属性设置以下实现:background-color: rgba(0, 0, 0, 0);border:none;原创 2020-01-06 20:55:25 · 837 阅读 · 0 评论
分享