Qt
文章平均质量分 62
QT开发过程中开发使用到的轮子以及部分特殊语法记录
凉开水白菜
有嵌入式arm及qt软件开发方面三年经验,嵌入式qt领域专家,csdn/掘金平台优质作者,擅长嵌入式软硬件项目方案设计,qt界面开发,单片机程序设计等。
展开
-
【QT进阶】第十三章QT动画类的使用QAbstractAnimation
QPropertyAnimation 是 Qt 自带的动画类,该类可以实现简单的控件动画效果,比如对控件的移动、缩放、不透明度这些来做动画效果,下面通过几个例子来熟悉给控件添加动画。动画类的扩展性比较强,对动画比较有研究的同学可以通过上面几个简单的组合实现优美的动画,各个Group的组合也可以组合成不同的效果,期待大家的作品;完整的代码工程我都放在百度云盘的软件里面,如果需要可以自行下载;提取码:qtqt我是凉开水白菜,我们下文见~原创 2024-04-02 00:36:52 · 146 阅读 · 0 评论 -
【QT】创建、打开QT项目只显示.pro文件的问题解决
之前电脑装的QT5.12.9版本后来装了个6.0的版本然后卸载6.0版本过后QT环境就出现了打不开项目工程的问题,情况如下图(因为我的环境已经解决了这里借用别人的图)下面是解决办法:在红色框框上应该会出现多个异常的Kits这里直接将他移除然后重新打开QT就可以了。......原创 2022-05-06 10:07:16 · 4680 阅读 · 6 评论 -
【QT】GraphicsView、QGraphicsScene、QGraphicsEllipseItem的使用
QGraphicsView一般由三个部分组成:1、GraphicsView:看法;看;视野;(个人的)意见;见解;态度;(理解或思维的)方法;方式;视域;视线2、QGraphicsScene:场景;场面;情景;镜头;(尤指不愉快事件发生的)地点,现场;事件;片段3、QGraphicsItem :项目;一件商品(或物品);一则,一条(新闻)从上面的英文翻译可以理解GraphicsView是一个放置我们制作的控件的层,scene是负责管理和操作我们的控件层,而item就是我们的控件实物层;...原创 2021-12-02 23:12:58 · 6167 阅读 · 12 评论 -
【QT】读写.ini配置文件的程序实现
读写INI文件前言思路iniConfig.cppiniConfig.h使用方法前言我们在设计软件得时候很多时候会用到设置得保存,例如用户使用最多得串口助手,当设置好串口得波特率、校验位等等设置过后用户肯定是希望下次打开得时候能恢复昨天工作调试得配置而不是打开软件过后还需要再重复设置一遍,所以我们就需要学习一下ini文件配置读写,其实通过文件读写得方式也是可以实现相同得效果,但是QT给我们提供了ini文件读写得接口,在配置设置得过程中为我们提供了很多便利,接下来我们看看效果。思路当我们打开软件得时候原创 2021-11-21 17:37:38 · 592 阅读 · 0 评论 -
QT编译安装QtMqtt子模块,Linux平台
QT安装QtMqtt子模块include文件夹和src文件夹lib文件夹mkspecs文件夹错误修改总结系统:Windows10环境:QT5.12.9源码下载和源码的编译请参考:QT编译安装QtMqtt子模块,WIN平台,(网盘工程文件在该文文末)编译完成过后我们会使用到的文件夹有以下几个:include文件夹和src文件夹然后我们将src文件夹下的mqtt文件夹全部复制到QT的安装目录,具体路径如下图,然后我们将源码编译生成文件夹中的include下的文件也复制到这个路径里面Qt/5.12原创 2021-10-26 10:28:56 · 1255 阅读 · 0 评论 -
QT控件edit内容居中显示
ui->edit_word->setAlignment(Qt::AlignHCenter); //设置edit文字居中显示原创 2020-07-31 15:45:50 · 3303 阅读 · 0 评论 -
QT实现一个简单的日志打印系统
先来看一下效果使用方法:直接将logsystem.cpp文件和logsystem.h文件添加到工程目录中,然后包含即可使用。直接调用打印接口然后在程序exe文件夹下会生成一个文件名叫log_debug.txt文件。源文件.C#include "logsystem.h"LogSystem::LogSystem(){}void LogSystem::error(QString msg){ if(!Write_debug_information("error",msg))原创 2021-09-30 08:06:13 · 1191 阅读 · 0 评论 -
QT编译安装QtMqtt子模块,WIN平台
QT安装QtMqtt子模块下载源代码编译添加库文件到QT安装目录测试工程最终效果完整文件下载系统:Windows10环境:QT5.12.9下载源代码编译GitHub上下载的源代码未发现有.pro文件所以无法一直无从下手怎么去编译,然后偶然的机会在CSDN上打开GitHub加速下载链接惊喜的发现有.pro文件,这里给出链接:点击直达GitHub原链接:当我们下载好后解压打开工程文件,取消影子构建,然后点击构建当编译完成过后会有几个新的文件夹生成到我们的代码目录中添加库文件到QT安装目原创 2021-10-09 18:04:00 · 1113 阅读 · 1 评论 -
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
系统:windows10环境:qt5.12.9问题描述:在更新和卸载组件时出现“要继续此操作,至少需要一个有效且已启用的储存库”解决问题:QT镜像网址:http://download.qt.io/static/mirrorlist/我这里选择的清华源,因个人喜好选择有了这个链接我们就开始添加到储存库这里测试选择用户自定义存储库和临时库都是可以解决这个问题的,参考的大部分博客都是使用临时存储库。也可以点击测试按钮测试一下,出现以下信息表示成功然后就是漫长的等待如果一直卡在某个地原创 2021-10-09 12:44:32 · 2550 阅读 · 1 评论 -
QT取消标题栏,如何实现窗口移动
qt自带的标题栏在多个平台都显示的不一样,而且在常用的window平台也非常的不好看,所以我们经常会用到的美化方式就是会取消标题栏的显示,但是取消标题栏的显示就会出现一个问题就是无法实现窗口的移动,所以这里给出一个方法实现左键按压窗口控件任意地方来实现窗口的移动,下面我们直接看代码和使用方法即可。// 窗体移动方法重载eventFilter函数bool Widget::eventFilter(QObject *watched, QEvent *evt){ static QPoint mouse原创 2021-10-02 15:04:26 · 1642 阅读 · 1 评论 -
正点原子IMX6ULL-安装交叉编译器、编译tslib触摸屏库、编译arm环境qt源代码
这里写目录标题交叉编译器下载Tslib下载qt源文件下载配置 ARM 平台的 Qt Creator Kits交叉编译器下载下载链接:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/我们将交叉编译器安装到下面这个目录sudo mkdir /usr/local/arm然后将文件解压到该目录sudo tar xf gcc-linaro-4.9.4-2017.01-x8原创 2021-09-15 16:47:17 · 1594 阅读 · 0 评论 -
qt开发使用camera类获取摄像头信息并拍照保存
首先是UI布局在pro文件中添加两个类QT += multimediaQT += multimediawidgets然后我们需要包含几个摄像头使用的头文件并创建摄像头的对象#include <QCamera>#include <QCameraInfo>#include <QCameraViewfinder>#include <QCameraImageCapture>QCamera* m_camera;原创 2021-08-19 11:38:37 · 5273 阅读 · 1 评论 -
Ubuntu下Qt编程,从QT的安装到编写notepad
1、下载官网下载可能较慢这里使用清华镜像源来下载,下载链接我这里下载的是5.12.9的版本,如果有其他版本需求可以跳转到其他目录下载即可2、安装下载完成后打开终端进入到下载目录,执行ls指令可以看到我们下载的文件然后我们设置安装所需要的文件权限sudo chmod u+x qt-opensource-linux-x64-5.12.9.run 然后就可以开始安装了执行.run文件会弹出安装界面下一步登录qt账号密码勾选同意开源协议然后下一步然后是设置安装目录,建议在自己的工作目录原创 2021-08-13 12:33:05 · 741 阅读 · 0 评论 -
QT Modbus RTU调试助手(包含算法实现CRC MODBUS16校验)
QT Modbus RTU调试助手在类构造函数中将UI初始化和串口对象定义以及查找串口串口设置串口接受QT延时函数CRC校验发送串口数据函数总结在类构造函数中将UI初始化和串口对象定义以及查找串口foreach (const QSerialPortInfo ports, QSerialPortInfo::availablePorts()){ ui->comboBox->addItem(ports.portName()); }serialPort=new QSeri原创 2021-06-28 16:37:01 · 4926 阅读 · 8 评论 -
QT去除QString字符串中空格的方法
//<1>去除字符串前面的空格QString str1 = " 1 2 3 “;str1.remove(QRegExp(”^ +\s*"));qDebug() << “str1=” << str1;//<2>去除字符串后面的空格QString str2 = " 4 5 6 “;str2.remove(QRegExp(”\s* +$"));qDebug() << “str2=” << str2;//<3>去除字原创 2021-06-28 15:56:02 · 4599 阅读 · 0 评论 -
QT中按钮格式QSS代码
QPushButton#myButton:normal/鼠标正常时的效果/{color:#000000;background-color:rgb(40, 85, 20); /改变背景色/border-style:inset;/改变边框风格/padding-left:4px;padding-top:4px;}/鼠标悬浮时的效果/QPushButton#myButton:hover{color:#0000ff;background-color:rgb(40, 85, 20); /改变背景原创 2021-06-28 15:52:54 · 1555 阅读 · 0 评论 -
QT定时器的使用timer示例
需要包含的头文件#include <QTimer>创建一个定时器类的对象QTimer *timer = new QTimer(this);timer 超时后会发出timeout()信号,所以在创建好定时器对象后给其建立信号与槽//connect(信号发出者地址,发什么信号,在那个类触发,触发事件)connect(timer, SIGNAL(timeout()), this, SLOT(onTimeout()));在需要开启或者暂停定时器的地方调用//开启定时器timer-原创 2020-08-21 21:06:17 · 2040 阅读 · 0 评论 -
QT中的数据类型转换总结
一、QString的转换QString转QByteArrayQByteArray byte;QString string;byte = string.toLatin1();QString转StringQString string;std::string str;str = string.toStdString();QString转char *QString string;char *ch;ch = string.toLatin1.data();QString转QHostAdd原创 2020-08-21 20:44:14 · 1391 阅读 · 0 评论 -
QT笔刷画笔渲染的使用
头文件包含#include <QPainter>#include <QPen>具体代码实现 QPainter painter(this); QPen pen; QBrush brush; //背景绘制 QPixmap pix; pix.load("C:\\Users\\23999\\Desktop\\tool-mastar\\stylle_toolV1.4\\img\\background.jpg");//背景图片位置原创 2020-08-02 10:53:00 · 537 阅读 · 0 评论 -
QT实现必须确定的弹窗窗口
头文件包含//消息弹窗#include <QMessageBox>具体实现int tmp = 0; do { QMessageBox box(QMessageBox::NoIcon, "你就说", " XXX是不是渣男?"); box.setStandardButtons(QMessageBox::Ok | QMessageBox::No); box.setButtonText(QMessageBox::Ok, QSt原创 2020-08-01 08:43:27 · 923 阅读 · 0 评论 -
QT按键监控函数
void game_2048::keyPressEvent(QKeyEvent *event){ try { if (event->key() == Qt::Key_W || event->key() == Qt::Key_Up) { blockShow(QString("up")); } if (event->key() == Qt::Key_A || event->key()原创 2020-08-01 08:42:23 · 471 阅读 · 0 评论 -
QT中edit控件限制输入数值以及进制转换方法
利用正则表达式限制输入内容 /* 限制输入 */ ui->edit_2->setValidator(new QRegExpValidator(QRegExp("[0-1]+$")));//输入0跟1 ui->edit_8->setValidator(new QRegExpValidator(QRegExp("[0-7]+$")));//输入0到7 ui->edit_10->setValidator(new QRegExpValidator(原创 2020-08-01 08:41:58 · 900 阅读 · 0 评论 -
QT播放音频方法
首先需要包含的头文件包含#include <QMediaPlayer>播放配置 QMediaPlayer *player = new QMediaPlayer;//创建播放对象 /* 播放音频的设置 */ player->setMedia(QUrl::fromLocalFile(".//music//ok加载完成.wav"));//音频位置 player->setVolume(30);//音量播放和停止 player->play();原创 2020-08-01 08:41:37 · 1335 阅读 · 0 评论 -
QT实现剪切板内容设置
QString source = ui->edit_2->text(); //要拷贝的内容 QClipboard *clipboard = QApplication::clipboard(); //获取系统剪贴板指针 clipboard->setText(source); //设置剪贴板内容...原创 2020-08-01 08:41:08 · 974 阅读 · 0 评论 -
QT中HASH函数方法
包含的头文件#include "QCryptographicHash"具体代码实现 /*! 通过hash中的sha1加密方式加密 */ QCryptographicHash Hash(QCryptographicHash::Sha1); QString word = ui->edit_word->text(); Hash.addData(word.toLatin1().data()); ui->edit_原创 2020-08-01 08:40:32 · 2159 阅读 · 2 评论 -
QT固定窗口大小的两种方法
方法一:使用窗口Dialog属性(取消最小化和最大化按钮替换为?号按钮) this->setWindowFlags(Qt::Dialog); //窗体没有最大化最小化按钮 this->setFixedSize(this->width(), this->height()); //禁止拖放窗口大小方二2:改变最大话按钮的属性 setWindowFlags(windowFlags() & ~Qt::WindowMaxim原创 2020-07-31 15:46:51 · 3189 阅读 · 0 评论 -
QT串口助手的实现
serial.c#include "serial.h"#include "ui_serial.h"serial::serial(QWidget *parent) : QWidget(parent), ui(new Ui::serial){ ui->setupUi(this); system_init();}serial::~serial(){ delete timer; delete.原创 2020-07-31 15:45:28 · 473 阅读 · 0 评论 -
QT实现植物大战僵尸中文版工具代码
.h文件/* * @Author: Stylle * @Date: 2020-07-19 21:21:46 * @LastEditors: Stylle * @LastEditTime: 2020-07-22 10:43:15 * @FilePath: \tool-mastar\stylle_toolV1.8\tool_pvz.h */#ifndef TOOL_PVZ_H#define TOOL_PVZ_H#include <QWidget>//定时器#include.原创 2020-07-31 15:44:54 · 1529 阅读 · 0 评论 -
Qt程序打包发布记录使用windeployqt工具
Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。首先生成程序release版本文件然后复制release文件目录然后打开安装QT时所带的命令行工具(如下图)然后执行目录跳转到我们刚刚复制的路径我这里的路径为 C:\Users\23999\Desktop\temp\release 执行以下命令cd C:\Users原创 2020-07-27 09:23:14 · 234 阅读 · 0 评论 -
Qtcreator常用快捷键
F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式Ctrl+6 输出模式Alt+0 显示或者隐藏侧边条,编辑模式下起作用(有时写的函数太长,屏幕不够原创 2020-07-27 09:20:34 · 3409 阅读 · 0 评论