QT
七 六 伍
分享一些日常学习经验和开源自己业余玩的项目,也就是当个记录笔记
展开
-
Qt 5.9 C++开发指南的下载和源码下载
今天get到一个新技能 记录下。Qt 5.9 C++开发指南 这本书对于玩qt的应该是很有帮助的。也挺有名气。如何不花钱白嫖?简介: 书名:Qt 5.9 C++开发指南 (ISBN号:978-7-115-47868-9)下载地址:https://box.lenovo.com/l/60jyJz提取码:7e9f这个直接进去就不用注册异步社区了。不过还是要注册联想的账号,这个简单直接使用自己的手机号注册一个号就好了,几分钟的事情,当然你要有钉钉的企业网盘 也可以直接使用登录。白嫖成功。原创 2021-03-25 14:27:13 · 7326 阅读 · 5 评论 -
Qt SQL :qt建立数据库 查询数据(调试有效)
要在QT中使用SQL,首先需要包含sql模块:QT += sql二:新建一个.h文件#ifndef SQLCONNECTION_H#define SQLCONNECTION_H#include <QMessageBox>#include <QSqlDatabase>#include <QSqlQuery>class sqlConnection{public: sqlConnection();};static bool c原创 2021-03-25 10:50:15 · 1523 阅读 · 0 评论 -
图标素材网站
收集了一些国内外的优质素材网址,资源丰富,经常会用到,请惠存!easyiconhttps://www.easyicon.net/免费矢量图标下载,格式包含:SVG、PNG、ICO、ICNS 等。iconfindehttps://www.iconfinder.com/搜索超过 5303,246 SVG 或 PNG 图标iconfonthttps://www.iconfont.cn/阿里巴巴矢量图标库findiconshttps://findicons.com全球最大的免费图标搜索引擎原创 2021-03-11 08:59:20 · 1086 阅读 · 0 评论 -
qt中关于类中的成员函数调用的问题(记录)
c++中 关于类中的成员函数的调用代码来源 菜鸟教程#include <iostream> using namespace std; class Box{ public: double length; // 长度 double breadth; // 宽度 double height; // 高度 // 成员函数声明 double getVolume(void);原创 2021-02-28 22:56:39 · 1721 阅读 · 0 评论 -
QT控件常用函数记录
QPushButton setText("OK"); 设置按键显示的姓名,例如设置为“OK”setShortcut( QKeySequence(tr("Ctrl+k")) ) //设置按钮的快捷键,例如:设置为“Ctrl + k” 。setEnabled(true)//设置按钮是否可操作,true: 可操作;flase : 不可操作clicked() //按钮按下发射的信号QStringtoLocal8Bit() //将QSring类的对象转换为QByteArray的对象原创 2021-02-24 23:46:18 · 571 阅读 · 0 评论 -
qt 中枚举enum的使用方法
今天突然想着 感觉好久没用过枚举这个enum这个函数了 就在qt程序中写了个enum变量定义 发现用不了,百度 记录下。才知道qt中使用enum和c和c++中还有点不一样.h中定义 enum triggerMode { triggerAuto = 1 , triggerSignalOne , triggerContinue } ;.cpp 中#include <QMetaEnum> // 添加一个定义// 在函数外面添加原创 2021-02-24 00:09:24 · 16097 阅读 · 0 评论 -
QT复选框CheckBox用法(笔记)
bool isChecked() const; 是否被选中。void setChecked(bool); 让他选中或者取消选中。True or False 。void MainWindow::on_checkBox_stateChanged(int arg1){ Q_UNUSED(arg1); if( ui->checkBox->isChecked() ) { qDebug()<<"1"; } else if(ui->原创 2021-02-21 21:49:53 · 4958 阅读 · 1 评论 -
Qt设置窗体大小(笔记)
今天自己写的程序的界面,客户提了个小问题 就是界面因为不是整个屏幕的,所有有时候可以拉长或者拉短后,有些控件有看不到了,说能不能固定下。解决的办法初始化的时候。ui(new Ui::MainWindow){ ui->setupUi(this); this->setMaximumSize(1514,927); this->setMinimumSize(1514,927);ui界面也可以改另外一种办法就是使用setFixedSize(),这样一句原创 2021-02-20 17:15:31 · 1486 阅读 · 1 评论 -
QT QTime的常用函数(记录)
static QTime time(QTime::currentTime());axis_x = time.elapsed()/1000.0 ;原创 2021-02-19 14:59:40 · 486 阅读 · 0 评论 -
C++(笔记)字符的处理
1:如何获取double类型数据的小数点部分取模 1 % 1先取整,然后用它减去整数即可2 :double -> QStringdouble number = 123.45;QString str = QString::number(number);3:QString -> doubleQString str = “123.45”;double number = str.toDouble();4:QString -> intQString str = “123”;原创 2021-02-19 14:58:10 · 79 阅读 · 1 评论 -
Qt中使用static作为全局变量的方式
1:static 定义的全局变量 只能在这个文件中使用。2:static函数中 只能使用static定义的变量原创 2021-02-12 18:57:43 · 1306 阅读 · 0 评论 -
Qt之QList详解
1、QList是一种表示链表的模板类。2、QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。3,、QList以链表形式存储一组元素。默认为空链表,我们可以使用<<操作符添加元素:QList list;list << “one” << “two” << “three”; // list: [“one”, “two”, “three”]4、QList提供了一系列添加、移动、删除元素的操作:原创 2021-02-12 00:41:51 · 14150 阅读 · 3 评论 -
Qt5.9程序打包发布方法(使用官方提供的windeployqt工具)
1:首先发布release2: 把exe文件拷贝出来 随便放一个位置我这里放在了F 盘 其它的文件 是后面生成的。开始的时候就一个.exe文件4 在菜单 开始那里 找到如下(qt5.9 for Desktop(mingw )), 在输入命令 就是定位你上一步放.exe文件的地方5:输入 windeployqt 和你的.exe文件的名字。 最后就如下...原创 2021-02-11 23:26:47 · 918 阅读 · 3 评论 -
QT5.9界面(窗口)之间传递参数
通过emit发送数据传递参数的方法:效果图:原理:窗口(A):张三信号(signal):想要买烟连接方式(connect):走路去结果(void):张三得到烟窗口(B):商店槽函数(slots):商店给张三烟能看完的才能学到点东西。如上所述:QT采用信号与槽函数实现不同窗口之间的参数传递,下面上代码示例:dialog.h 文件#ifndef DIALOG_H#define DIALOG_H#include <QDialog>namespace Ui { cla原创 2021-02-09 00:49:15 · 2078 阅读 · 1 评论 -
QT之多界面传递数据
多界面传递数据/方法一:使用全局变量:1:在mainWindow.cpp文件中加入:QString globaldata; //声明一个全局变量用于窗体间传值2:在Dialog.cpp文件中声明外部变量:extern QString globaldata;3:在控件变量中调用方法二:使用信号与槽的方法一、说明A=子界面 B=主界面 , 实现A往B传值,B显示.(A:form.uiB:mainWindow.ui)二、利用emit和slot实现2.1 对A.h 添加声原创 2021-02-08 19:46:03 · 3254 阅读 · 2 评论 -
QT 中常用的函数记录
有些函数指令长时间不用 过短时间就陌生了,这里记录一下常用的函数,方便自己有空的时候查找和查看。1: 隐藏一个控件 ui->pushButton->setVisible(false);对于界面的操作MainWindow *gui1 = new MainWindow ;gui1->show();this->close();// this->hide();...原创 2021-02-08 19:35:55 · 293 阅读 · 0 评论 -
Qt之多界面切换编程
在Qt编程中经常遇到多个界面之间的切换, 比如从登录界面跳转到主界面, 主界面跳转到设置界面,在返回到主界面下面更加这个流程实现一个例子:主界面:添加第二个界面#include "dialog.h"#include "ui_dialog.h"#include "mainwindow.h"Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(thi原创 2021-02-01 13:23:47 · 1079 阅读 · 1 评论 -
Qt 中十六进制转十进制(接收外部数据后转换)
十六进制转十进制bool ok;QString hex = 16;int dec = hex.toInt(&ok, 16);十进制转十六进制int dec = 100;QString hex = QString("%1").arg(dec, 4, 16, QLatinlChar(‘0’)); // 保留四位,不足补零原创 2021-01-10 19:06:56 · 3247 阅读 · 1 评论 -
QT 两个时间格式做减法(实践)
今天发现x轴的单位 在100ms跟新一次的时候 时间长了 时间和实际时间有点差别,使用了几种方法进行秒表定时器 其中有一种方法就是提取现在时间 然后进行相减 得到一个秒表的计时器 。100ms定时 每次定时器加0.1最后运行结果 发现100ms定时 还是有差别。如下结果图 产生上面图的代码 timer->setInterval(100); timer->start(); timer1->setInterval(100); timer1-&原创 2021-01-09 01:25:26 · 1230 阅读 · 0 评论 -
QT中 怎么获取系统的时间
QDateTime time = QDateTime::currentDateTime();//获取系统现在的时间 QString strTime = time.toString("yyyy-MM-dd hh:mm:ss");//设置系统时间显示格式 ui->timelabel->setText(strTime);//在标签上显示时间原创 2021-01-08 20:51:00 · 1079 阅读 · 0 评论 -
qt中 double类型转换成QString类型
double d_data = 10.53;qDebug()<<QString::number(d_data, '.', 2);结果:10.53原创 2021-01-08 19:53:45 · 3634 阅读 · 0 评论 -
QLabel的用法
1.void setText(QString); //设置label框内的文本.2.void hide(); //隐藏label框.3.void setBuddy(QWidget*); //把另一个部件设为label框的伙伴,方便快捷使用.4.void clear(); //清空label框内所有内容.5.void setPixmap(QPixmap(QString)); //设置图片.6.void setMovie(QMovie*); //设置电影.7.void setScaledConten原创 2021-01-08 19:31:18 · 2583 阅读 · 1 评论 -
记录几个QT学习和图标网站
http://www.bejson.com/CRC校验工具:http://www.ip33.com/crc.html图标网站:https://www.iconfinder.com/腾讯开源:http://code.tencent.com/pebble.htmlQT http://download.qt.io/archive/qt/十六进制转字符串:https://www.bejson.com/convert/ox2str/flutter api:https://api.flutter.dev/f原创 2021-01-04 22:40:18 · 502 阅读 · 0 评论 -
Qt程序编译成功,执行时报错:程序异常结束.crashed
今天编译的时候 程序能通过 ,但是莫名的出现,crash的错误,网上找了会资料 不过发现大部分都是有每个人自己的答案,不后来自己通过断点调试,一步步找到问题的所在。原创 2021-01-04 22:37:09 · 1640 阅读 · 1 评论 -
QPushButton 通过stylesheet 设置样式
通过QPushButton 的 stylesheet 设置按钮样式:ui->pushButton->setStyleSheet(“QPushButton{background-color:rgba(255,178,0,100%);color: white; border-radius: 10px; border: 2px groove gray;border-style: outset;}” // 按键本色“QPushButton:hover{background-color:w原创 2021-01-04 16:54:10 · 787 阅读 · 0 评论 -
QT ComBoBox笔记
添加combox 元素QStringList list;list << "A" << "B" << "C" << "D" << "E";ui->comboBox->addItems(list);ui->comboBox->addItem("F");初始化: ui->x_unit_comboBox->setCurrentIndex(1);转到槽void MainWindow::on_x_unit原创 2021-01-04 15:06:03 · 186 阅读 · 0 评论 -
Qt 串口QSerialPort 使用记录
Qt中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。 本文就简单的讲讲QtSerialPort模块的使用。当前的QtSerialPort模块中提供了两个C++类,分别是QSerialPort 和QSerialPortInfo。QSerialPort 类提供了操作串口的各种接口。QSerialPortInfo 是一个辅助类,可以提供计算机中可用串口的各种信息。一: .pro中添加QT += serialport二: .h文件添加头文件#ifndef MAINWI原创 2021-01-03 16:15:44 · 425 阅读 · 0 评论 -
Qt中int转换为QString的方法
有两种方法可以将int转换为QString使用QString::number函数原型:QString::number(long n,base=10);第一个参数是要转行的数据,第二个参数是进制eg:long a = 63;QString s = QString::number(a,10)// s = “63”QString t = QString::number(a,16).toUpper();// t = “3F”示例long a = 63;QString s = QStri原创 2021-01-03 01:16:32 · 29365 阅读 · 0 评论 -
QT鼠标响应事件和获取鼠标位置
//鼠标按下事件```cvoid MainWindow::mousePressEvent(QMouseEvent *event){QString str="("+QString::number(event->x())+","+QString::number(event->y())+")";// ui->lineEdit->setText(tr("鼠标按下")+str);if(event->button()==Qt::LeftButton){ui->line原创 2021-01-02 15:01:46 · 6618 阅读 · 1 评论 -
Qt中在Label标签中显示一张静态图片
实现的效果: QImage *img=new QImage; //新建一个image对象 img->load(":/new/prefix1/imag/LQ.png"); //将图像资源载入对象img,注意路径,可点进图片右键复制路径 ui->label->setPixmap(QPixmap::fromImage(*img));...原创 2021-01-02 14:42:05 · 884 阅读 · 0 评论 -
Qt 定时器 (QTimer)的几种使用方法
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类。其精确度一般依赖于操作系统和硬件,但一般支持20ms。下面将分别介绍两种方法来使用定时器。方法一:使用QTimer定时器类(这种方法普遍使用)1、 首先创建一个定时器类的对象QTimer *timer = new QTimer(this);2、 timer 超时后会发出timeout()信号,所以在创建好定时器对象后给其建立信号与槽connect(timer, SIGNAL(timeout())原创 2021-01-02 13:31:02 · 58719 阅读 · 2 评论 -
QCustomPlot系列 -用鼠标矩形框进行框选放大
这个功能,API里面都给写好了 我们直接调用就好了 customPlot->selectionRect()->setPen(QPen(Qt::black,1,Qt::DashLine));//设置选框的样式:虚线customPlot->selectionRect()->setBrush(QBrush(QColor(0,0,100,50)));//设置选框的样式:半透明浅蓝customPlot->setSelectionRectMode(QCP::SelectionRec原创 2020-12-30 17:16:12 · 751 阅读 · 2 评论 -
QCustomPlot 坐标轴常用属性设置
1常用的数字表示格式setNumberFormat(“g”) 数值小的时候用固定格式,数值大使用科学计数setNumberFormat(“gb”) 数值小的时候用固定格式,数值大使用漂亮的10进制幂的指数形式setNumberFormat(“gbc”) 在上面的基础上乘号显示×setNumberFormat(“fc”) 非法格式,格式减少到’f’setNumberFormat(“hello”) 非法格式,因为第一个字符不是’e’, ‘e’, ‘f’, ‘g’或’g’。当前格式代码将不会更改默认原创 2020-12-30 16:08:03 · 3922 阅读 · 5 评论 -
QCustomPlot 加入帮助文档
1.在我们下载的QCustomPlot中 有个.qch文档, 加到如下目录(自己的qt安装目录)2.工具-》 选项-》 帮助-》添加 (把qch文件添加进去)原创 2020-12-30 15:06:53 · 675 阅读 · 1 评论 -
qt_基础语法
QString valueStr=ui->radiusLineEdit->text();ui->label_2->setText(tempStr.setNum(a));1.而由event->globalPos()获取的鼠标位置是鼠标偏离电脑屏幕左上角(x=0,y=0)的位置;2.由pos()获取的位置是主窗口(widget窗口)左上角(边框的左上角,外左上角)相对于电脑屏幕的左上角的(x=0,y=0)偏移位置3.子窗口的位置属性,label->setGeometr原创 2020-12-29 18:01:41 · 816 阅读 · 1 评论 -
Qt 串口类QSerialPort
Qt 串口类QSerialPort 使用笔记Qt5.1 中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。 本文就简单的讲讲QtSerialPort模块的使用。当前的QtSerialPort模块中提供了两个C++类,分别是QSerialPort 和QSerialPortInfo。QSerialPort 类提供了操作串口的各种接口。QSerialPortInfo 是一个辅助类,可以提供计算机中可用串口的各种信息。使用方法先介绍 QSerialPortInfo 的使用。原创 2020-12-29 17:59:28 · 966 阅读 · 0 评论 -
QStringList的应用
QStringList 初始化QStringList qstrList;qstrList<<“Android” << “Qt Creator” << “Java” << “C++”;QStringListIterator strIterator(qstrList);while (strIterator.hasNext()) qDebug() << strIterator.next() << endl;这里我转载 2020-12-29 17:55:58 · 1399 阅读 · 0 评论 -
QComboBox添加下拉表项 Qt
addItem就是为QComboBox添加下拉表项,addItems()就是为QComboBox添加下拉表项啊,但是可以一次zhi添加很多个,比如daoQStringList list;list<<""<<“Altemative”<<“Blues”<<“Comedy”<<“Dance”;m_com->addItems(list);...原创 2020-12-29 17:53:16 · 1334 阅读 · 0 评论 -
auto 关键词 C++11
C++11引入了auto关键词实现类型推导。这个关键词不仅能方便的获得复杂的类型,还能简化书写,提高编码效率。我的理解是这样的。auto为系统自己会帮助我们给出变量的声明(这个太好,我们可以不那么关注变量的类型了)我们来看看他的用法。typeid是一个可以帮助我获取数据类型的好东西。1. auto a = 10; // auto 被推导成 int2. auto b = 'a'; // auto 被推导成 字符 3. auto c =原创 2020-12-29 17:50:23 · 905 阅读 · 0 评论 -
foreach 关键字 QT
Qt 提供一个关键字 foreach (实际是 里定义的一个宏)用于方便地访问容器里所有数据项。foreach 关键字用于遍历容路中所有的项,使用 foreach 的句法是:foreach (variable, container)效果就是遍历container一遍,每次variable都被设置成container中当前的元素使用 foreach 的代码比使用迭代器更简洁。例如,使用 foreach 遍历一个QStringList 的示例代码如下:QStringList slt = {"abc"原创 2020-12-29 17:46:20 · 263 阅读 · 0 评论