
QT
芸编蕴香
知识蕴含香味///脱贫致富
展开
-
QT char[]数组与QByteArrya、QString之间的转换
需求由于使用QT写网络相关的界面,需要自定义数据结构,在解析时需要对char[]数组变量进行调用,需要在QString,QByteArray之间进行转换QByteArray转char[]QByteArrya *qbyte = new QByteArray("hello world");char cstr[20] = [];//strcpystrcpy(cstr,qbyte->da...原创 2020-04-29 11:41:48 · 3920 阅读 · 0 评论 -
QT CSS设置控件的颜色 字体等。
setStyleSheet("background: rgb(0,255,0));setStyleSheet("color: red);原创 2019-10-22 14:18:21 · 3672 阅读 · 0 评论 -
QByteArray::data()返回值解析,结构体中char*赋值崩溃
这是一个在使用QByteArray时遇到的bug分析记录情景在使用QTcpSocket编程时,使用了自定义的结构体进行数据通信,结构体如下,其中,char* load是消息体的地址。在实际使用过程中,使用readALL读取数据流后,进行分包和组包。在使用char* QByteArray::data 接口对load进行赋值,程序会崩溃。typedef struct{ unsi...原创 2019-09-06 20:49:10 · 6502 阅读 · 0 评论 -
QT UDP发送自定义结构体(消息体)
QT Socket通信一QUdpSocket类include官方实例广播和接收自定义结构体/消息体广播接收UDP是轻量级的套接字通信,具有广播,组播等功能。本文介绍QT UDP通信实例。QUdpSocket类include要使用QT的QUdpSocket类,需要在pro文件的中添加:QT += network在.h中添加 #include <QUdpSocket...原创 2019-09-06 21:03:35 · 6893 阅读 · 3 评论 -
QT 自定义Socket消息类,并进行运算符重载
TCP通信需要自定义消息体,本博文是构建了一个QT下的消息类。.h// 消息结构体,消息头为20个字节typedef struct{ unsigned int send_id; // 发送方的ID(网络的IP、SRIO的ID) unsigned int recv_id; // 接收方的ID(网络的IP、SRIO的ID) unsigned ...原创 2019-09-06 23:28:02 · 508 阅读 · 0 评论 -
QObject: Cannot create children for a parent that is in a different thread.
在QThread子类的run()函数中使用如下代码声明并定义一个QTcpSocket类: QTcpSocket *client; client = new QTcpSocket(this);运行时仍然提示:fathre QThread(0x266e0d0)QObject: Cannot create children for a parent that is in a dif...原创 2019-09-12 16:52:23 · 461 阅读 · 0 评论 -
QT多线程使用
从QT4.4 开始,官方推荐一种QThread的方法。将方法封装到QObject的子类中,然后再新建一个QThread 子类,利用QObject的moveToThread(QThread *)方法将子类放入到另一个QThread中执行。下面是一个QTimer 触发另一个线程中的方法实例:类:子类头文件:#ifndef PRINT_H#define PRINT_H#include &...原创 2019-09-17 14:23:56 · 485 阅读 · 0 评论 -
QChart绘制静态图
QChart 绘制静态图/简单图QChartQChart 继承关系QChart使用流程添加头文件创建QChartView简单绘图实例代码QLineSeries 和QscatterSeries 使用OpenGL加速QChart从QT5.7开始,社区版本也包含了Qt Charts。QtCharts可以方便的绘制常见的折线图、柱状图、饼图等。QtCharts是基于QT的Graphics Vi...原创 2019-09-26 11:30:34 · 2219 阅读 · 2 评论 -
QByteArray转换为任意格式/结构体
QByteArray格式转换QByteArray自定义的类型转换函数灵活的大端小端转换为int转换成自定义类型的结构体进阶:定义QByteArray的子类QByteArray作为Qt中字节类型的的类,经常被用于Socket通信传输数据,而TCP通信经常发送自定义类型的消息头和消息体,因此需要将读取的QByteArray转换成相应的格式进行处理。QByteArray自定义的类型转换函数t...原创 2019-09-27 12:54:31 · 6709 阅读 · 0 评论 -
QT prepare与exec
QT QSqlQuery 类prepare() 与 exec()prepare() 与 exec()QSqlQuery 类提供prepare()用于准备sql函数,并且提供bindValue()方法用于替换变量值;典型的用于如图:需要注意的是:每一次 exec()的调用会清空prepare中的值;则每次调用exec()之前需要重新prepare。测试代码如下: QSqlQuery...原创 2019-08-24 15:40:58 · 2632 阅读 · 0 评论 -
QT 常用总结三
常用总结弹出一个QFileDialog 设置输出文件路径和文件名方法 getSaveFilename()创建一个txt文件并向其中写入数据创建txt文件:TXT文件中写入换行弹出一个QFileDialog 设置输出文件路径和文件名方法 getSaveFilename()代码: QString filter = "文本文件(*.txt);;任意文件(*.*)"; QString curpa...原创 2019-07-21 00:44:39 · 168 阅读 · 0 评论 -
QProcess time out
QProcess详解QProcessbool QProcess::waitForStarted(int msecs = 30000)time out 错误分析QProcess time out错误解决QProcessbool QProcess::waitForStarted(int msecs = 30000)time out 错误分析默认情况下,等待的时间最大为30000ms,若QPr...原创 2019-07-18 00:02:14 · 1176 阅读 · 1 评论 -
QT5字符串与数值之间转换,输出两位小数
场景Qt界面使用最多的就是Label和QLineEdit,前者用于显示字符串,后者用于显示和输入字符串。在设置的界面中,经常需要使用字符串转int或float,本文记录的知识点:字符串转int;字符串转float;计算并输出两者之积,结果保留2位小数;步骤新建一个mainwindow工程;进入ui编辑页面;插入label和lineedit,并使用网格布局,结果如图:分别为li...原创 2019-06-23 23:35:45 · 11718 阅读 · 0 评论 -
QT连接mysql(解决QT5.12无mysql驱动)
下载QT5.9.8并安装http://download.qt.io/official_releases/qt/5.9/5.9.8/改版本自带MYSQL驱动,不用重新编译生成mysql驱动示例:#include "mainwindow.h"#include <QApplication>#include <QDebug>#include <QSqlDatab...原创 2019-07-08 20:53:53 · 9152 阅读 · 9 评论 -
Qt从绝对路径复制文件至指定的路径
需求在实际Qt开发中,经常遇到对 用户通过DialogTree指定的文件 进行移动操作,即copy()方法,将绝对路径下的文件复制到其他路径下。方法主要利用:QDir::currentPath() //返回应用程序目录的当前绝对路径,//The current directory is the last directory set with //QDir::setCurrent()...原创 2019-06-27 23:20:58 · 9846 阅读 · 0 评论 -
Qt中文乱码--使用Unicode万国码解决
需求Qt界面开发过程中可能使用到多个语言的字符。需要解决乱码问题。API介绍Qt 提供类:QTextCodec Class,用来支持各种编码协议,支持:ISO 2022-JPISO 8859-1 to 10KOI8-RKOI8-UMacintoshTSCIIUTF-8UTF-16UTF-32等等一些编码协议。Qt的QTextCodec Class类提供了很多控制编码...原创 2019-06-27 23:52:07 · 4805 阅读 · 0 评论 -
Qt的windeploy使用::解决找不到函数入口
需求windows环境下;编写的Qt程序需要发布给他人使用,需要将程序需要的Qt动态库复制到编译出的.exe文件目录下;遇到的问题使用windeploy方法已经将需要的dll等动态库文件移植到正确的目录下,但是运行.exe文件提示警告:无法找到函数入口解决方法使用安装QT是安装的命令窗口,运行windeployqt + 绝对路径下的.exe文件windeployqt D...原创 2019-06-29 00:04:31 · 1829 阅读 · 0 评论 -
Qt常用操作总结一
文章目录打开一个窗口获取指定格式文件绝对路径打开一个窗口获取指定格式文件绝对路径代码#include <QString>#include <QFileDialog>{ QString aFile = QFileDialog::getOpenFileName(this,tr("选择文件"),"",tr("文本文件 (*.txt);;C程序 (*.c *.cpp...原创 2019-06-29 23:28:15 · 531 阅读 · 0 评论 -
QT QLineEdit设置密码遮盖为圆点
方法1:代码设置://设置lineEdit_3为输入和显示均是 *ui->lineEdit_3->setEchoMode(QLineEdit::Password); //设置输入时为*,编辑后显示*ui->lineEdit_3->setEchoMode(QLineEdit::PasswordEchoOnEdit); 方法2:在ui设计内设置lineEdit的...原创 2019-07-15 23:50:43 · 2497 阅读 · 0 评论 -
QT常用操作总结二
目录读写配置文件iniQSettings类介绍写配置文件读写配置文件ini软件开发到一定程度,需要一些配置参数,利用QT自身的QSettings类对.ini文件进行读写。QSettings类介绍//在currentPath路径下创建一个指定名称的配置文件,//当format是QSettings::IniFormat时,文件应是一个ini文件。QSettings(const QStrin...原创 2019-07-16 00:40:58 · 407 阅读 · 0 评论 -
QT获取日期,时间,星期
QT类库QT提供 QDate、 QTime、 QDateTime三个类对日期,时间等进行操作。功能接口QDateTime::currentDateTime()获取当前日期时间,返回一个QDateTime对象toString(“yyyy.MM.dd hh:mm:ss.zzz ddd”)将QDateTime对象的日期时间,转换为date time 标准格式代码实例...原创 2019-07-29 08:18:18 · 12665 阅读 · 0 评论 -
QT运行.bat文件实例
需求使用Qt做界面程序的过程中,总会遇到调用其他服务或者脚本的情景,为了解决windows环境下Qt程序中调用.bat脚本,写下了本文。需要使用#include <QProcess>#include <QDir>#include <QString>利用QProcess起一个线程运行.bat脚本;利用QDir找到脚本的运行路径;利用QString...原创 2019-06-26 22:04:39 · 9161 阅读 · 10 评论