qt
sunnyhyh
路漫漫其修远兮
吾将上下而求索
展开
-
Qt --- http客户端post JSON/form方式
Qt http客户端的实现1.JSON方式2.form-data表单方式原创 2020-12-16 16:24:07 · 2955 阅读 · 3 评论 -
Qt ---windows和linux下调用Openssl库实现RSA算法
一.摘要最近项目中,需要用到RSA加解密算法实现对数据的加解密处理,但是Qt的算法库中并没有RSA,所以只能尝试着调用其它库。查看资料,发现Openssl和gmp(GNU MP数字运算库)都支持RSA,权衡后Openssl用的比较多,所以打算用openssl库来实现RSA算法。二.RSA算法RSA是目前使用最广泛的公钥密码体制之一。它是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。当时.原创 2020-12-16 15:34:37 · 2883 阅读 · 0 评论 -
Qt --- QByteArray强大用途
Qt中无论是串口serialport还是tcp网络通信等,直接接收到(或者要发送)的数据都是QByteArray,之后的数据处理部分,无论你转为char*/char[]还是使用最多的QString,都得通过QByteArray转换而来,那我们在后面的数据处理部分可不可以直接用QByteArray呢?这就要求我们对QByteArray有很深刻的认识。一. QByteArray 类1. 初始化QByteArray ba(48, 0); //创建一个长度为48字节,初始...原创 2020-10-16 16:52:51 · 3135 阅读 · 2 评论 -
Qt --- printf 不即时打印信息问题
Qt Creator建立一个空项目,然后写了一些C代码,即使运行配置中“Run in terminal”不勾选,正常情况下打印信息会在“应用程序输出”中显示,但实际什么也输出。解决方法:1,将printf重定义为qDebug做日志输出,这个是可以,但是如果要使用qDebug,当初建项目的时候应该创建qt控制台项目,不过这不重点,重点是我只想用Qt Creator这个IDE做跨平台C/C++开发而已,并不想引用Qt的库,哪怕是最基础的QtCore。#include <QDebug>原创 2020-07-30 09:08:57 · 4072 阅读 · 3 评论 -
Qt 和 MCU 的串口通讯(完整帧)
前言: 最近一段时间在做有关串口通讯的Qt项目,其中与MCU STM32那部分的通讯比较令人头疼,因为MCU处理的是HEX16进制数,而Qt应用更多的倾向于对字符串的处理,经过这段时间的痛苦而又煎熬的摸索,也算是有所新的认识。在这中秋佳节即将来临之际,也得空写点关于这方面的心得,算是一个记录笔记吧。介绍:项目情况MCU STM32控制端:几个控制按键挂在MCU上,...原创 2019-09-12 18:46:08 · 5809 阅读 · 2 评论 -
Qt 谈一谈串口serialport
前言:最近一段时间在做有关串口通讯的Qt项目,在ubuntu 和 window两个平台上都有接触。在这中秋佳节即将来临之际,也得空写点关于这方面的心得,算是一个记录笔记吧。Qt官方有关串口类的介绍,说的很明白,Since: Qt5.1,从5.1版本才引进的QSerialPort 类。那么要是qt5版本之前的平台要怎么写串口功能呢?qt5之前需要引入第三方qextserial...原创 2019-09-12 16:15:13 · 1712 阅读 · 0 评论 -
Qt——小知识点记录(不断更新中)
1. setAttribute(Qt::WA_DeleteOnClose)使用注意有次关闭Qt窗口时,程序还在运行中,说明有线程仍在工作。寻求解决方法时,发现在构造函数中添加:setAttribute(Qt::WA_DeleteOnClose);可以解决问题,深入发现该方法使用时需要注意:如果是在是定义在栈上: MainWindow w; w.show(); 在...原创 2019-02-22 17:36:11 · 299 阅读 · 0 评论 -
Qt --- 重写QSlider,实现鼠标控制QSlider滑块
最近的项目需要利用QSlider水平进度条,实现鼠标控制音乐播放的进度。但是QSlider 本身没有抛出捕捉鼠标事件,获取鼠标的x方向位置信息的信号,所以为了实现功能,我们需要对QSlider重写自定义类。QSlider类所抛出的信号:valueChanged():当滑块的值发生了改变,发射此信号。tracking()确定在用户交互时,是否发出此信号。sliderPressed():当用...原创 2019-02-22 12:40:06 · 5117 阅读 · 0 评论 -
QT5 中文显示乱码问题的解决
1. 之前QT4版本中文乱码解决办法是在main.cpp文件加入:#include <QTextCodec>int main(int argc, char **argv){ ...... // 以下部分解决中文乱码 QTextCodec *codec = QTextCodec::codecForName("utf8"); //Linux QT...原创 2019-01-09 15:49:57 · 12201 阅读 · 2 评论 -
QT编译出错——QT未链接sql数据库模块undefined reference to '_imp__ZN12QSqlDatabaseC1Ev'
出错:在加入头文件#include <QtSql/QSqlTableModel>QT编译时发现报错:undefined reference to '_imp__ZN12QSqlDatabaseC1Ev'等如图:原因:QT链接sql数据库时,没有加入sql模块解决:在工程文件.pro加入QT += sql即可解决。...原创 2019-01-07 16:32:37 · 5018 阅读 · 3 评论 -
QT编译出错——ASSERT failure in QList<T>::at: "index out of range", file E:\\...\include/QtCore/qlist.h
出错:ASSERT failure in QList<T>::at: "index out of range", file E:\qt\Qt5.10\5.10.0\mingw53_32\include/QtCore/qlist.h, line 541原因:QList的索引越界,超出了范围。简而言之,比如:list.at(2)不存在,只存在list.at(0)和list.at(1),...原创 2018-11-21 19:22:54 · 42439 阅读 · 13 评论 -
QT---通过样式表设计程序界面ui
在qt中单单是采用qt提供的控件设计出来的程序界面是不堪入目的,是远远不够的。程序使用者们都是希望有一个更好看的ui界面,获得良好的体验。所以往往需要自己设计的图标代替qt自身提供的控件。我这里推荐一个较为方便的方式---通过样式表设计ui界面。比如qt中我们最常用到的QPushButton类,我们可以作出如下改变:如上图所示,我对几个QPushButton类进行了改变,使其看起...原创 2018-05-02 16:50:47 · 2341 阅读 · 0 评论 -
ubuntu下qt for android环境搭建
平台:ubuntu14.04 LTS 64位软件:qt5.7.0,Qt Creator 4.0.2,GCC 4.9android工具开发包:android-ndk-r12b-linux-x86_64, android-sdk-r24.4.1-linux, ...原创 2018-05-02 12:19:13 · 3444 阅读 · 0 评论 -
Qt---Linux平台Qt5用V4L2读取摄像头,实现实时画面和拍照
平台:ubuntu14.04工具:qt5.7_opensource版本Desktop 1. V4L2的介绍:摘自http://www.cnblogs.com/silence-hust/p/4464291.html大部分都一样的流程,多看几遍再结合代码就可以看懂的。 一、Video for Linux two v4l2为linux下视频设备程序提供了一套接口规范...转载 2018-04-18 11:02:13 · 13111 阅读 · 2 评论 -
QT---线程与定时器
qt中线程与定时器的运用转载 2018-03-21 19:49:53 · 1714 阅读 · 0 评论 -
Android笔记---framebuffer 显示图像文件(QImage方式)
Platform: android 22Software: Based on Qt 5.7.0 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64 bit) for androidQt Creator 4.0.2近几日,在搅腾着怎么在16位framebuffer指定位置显示一张图片。今天,终于有点眉目,在此记录一点心得。要在16位的framebuffer上显示图片...原创 2018-01-19 18:50:06 · 2172 阅读 · 1 评论 -
QT--- 在windows下打包应用程序
在命令行里打开QT中自带的windeployqt应用路径如下,输入命令windeployqt [options] [file],比如我把在release 模式下编译生成的.exe文件放在F:\Calculator目录下,则命令如下最后在该目录文件夹下自动导入相应的程序所需文件:最后可以用Enigma VirtualBox软件虚拟化工具将多个文件封装到应用程序主文件,从而制作成为单执行文件的绿色软件...原创 2017-09-20 11:56:27 · 425 阅读 · 0 评论