
QT笔记
临渊慎行
仗剑天涯,从每一天的进步开始
展开
-
Qt关于csv的生成和读取
CSV的创建和读取原创 2022-09-26 23:54:40 · 504 阅读 · 0 评论 -
QString、QByteArray转16进制
将16进制QString转换成QByteArray、QByteArray转16进制QString。原创 2022-09-25 23:32:23 · 2849 阅读 · 0 评论 -
QHttp使用--简单网页浏览器
QHttp的使用 ---简单网络浏览器原创 2022-09-19 23:35:42 · 741 阅读 · 0 评论 -
Qt鼠标事件demo
Qt鼠标事件原创 2022-09-19 21:13:28 · 164 阅读 · 0 评论 -
Qt绘图的简单使用
Qt绘图的简单使用转载 2022-07-27 23:06:13 · 1281 阅读 · 0 评论 -
Qt使用定时器实现QSlider滑块的左右活动和循环滑动
Qt使用定时器实现QSlider滑块的左右活动和循环滑动原创 2022-07-20 23:49:41 · 892 阅读 · 0 评论 -
Vector嵌套提高
#include <vector>#include <iostream>using namespace std;void test01(){ vector<int> v1(5,10); vector<int> v2(5,100); vector<int> v3(5,1000); vector<vector<int>> v; v.push_back(v1); v.pus原创 2022-05-26 11:26:23 · 191 阅读 · 0 评论 -
QT GUI界面和控制台同时显示,将调试信息输出到控制台中
在.pro文件中添加CONFIG += console项目的【构建和运行】中,需要勾选【Run in terminal】:原创 2022-05-26 09:08:05 · 867 阅读 · 0 评论 -
Qt遍历读取目录下的文件
void MainWindow::readDir(){ QString strPath = QApplication::applicationDirPath(); QDir dir(strPath); if(!dir.isEmpty()) { QStringList list = dir.entryList(QDir::Files); foreach (QFileInfo file, list) { i原创 2022-05-02 16:01:30 · 1804 阅读 · 0 评论 -
Qwt的在安装、配置和使用
参考链接https://blog.youkuaiyun.com/ydyuse/article/details/105010367原创 2022-02-16 21:57:50 · 304 阅读 · 0 评论 -
Qt(获取文件名、文件后缀名、文件绝对路径)
获取文件名、文件后缀名、文件绝对路径QString file_full, file_name, file_path,file_suffix ;QFileInfo fileinfo;file_full = QFileDialog::getOpenFileName(this,.....);fileinfo = QFileInfo(file_full);//文件名file_name = fileinfo.fileName(); //文件后缀file_suffix = fileinfo.suffix转载 2022-01-19 00:07:54 · 9231 阅读 · 0 评论 -
QT获取文件的后缀名
QString file_full, file_name, file_path,file_suffix ;QFileInfo fileinfo;file_full = QFileDialog::getOpenFileName(this,.....);fileinfo = QFileInfo(file_full);//文件名file_name = fileinfo.fileName(); //文件后缀file_suffix = fileinfo.suffix()//绝对路径file_path转载 2022-01-09 23:41:13 · 3435 阅读 · 0 评论 -
Qt颜色面板的设置
多个QPushButton公用一个槽函数 connect(ui->pBtnClrUnset,SIGNAL(clicked(bool)),this,SLOT(slotColor())); connect(ui->pBtnClrRed,SIGNAL(clicked(bool)),this,SLOT(slotColor())); connect(ui->pBtnClrBlue,SIGNAL(clicked(bool)),this,SLOT(slotColor())); .原创 2021-12-28 22:50:03 · 795 阅读 · 0 评论 -
Qt--postEvent\sendEvent\custEvent原型--后续补充
sendEvent(QObject* receiver,QEvent* event)使用notify()函数直接给receiver发送事件,也就是同步处理事件。postEvent(QObject* receiver, QEvent* event)向事件队列中添加receiver和event,对应异步处理事件。QObject::customEvent(QEvent *e)处理多个Qt事件处理函数,可以通过重载QObject::event()来实现。原文链接:https://blog.csd原创 2021-12-15 00:15:34 · 187 阅读 · 0 评论 -
Qt画环状图的几种简单方法
1、红色圆环代码部分void MainWindow::paintEvent(QPaintEvent* event){ QPainter painter(this); painter.save(); //设置反锯齿 painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::Qt4CompatiblePainting); QRect draw翻译 2021-12-02 00:25:23 · 5652 阅读 · 1 评论 -
QT输入框输入限制
QT输入框输入限制QRegExp regExp; regExp.setPattern("[a-zA-Z0-9_\u4e00-\u9fa5\\w]+$"); QValidator * editName = new QRegExpValidator(regExp,ui->lineEdit); ui->lineEdit->setValidator(editName); ui->lineEdit->setMaxLength(10);...原创 2021-11-30 21:38:50 · 2623 阅读 · 0 评论 -
Qt对XML的简单增删改
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QFile>#include <QDomDocument>#include <QTextStream>#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){转载 2021-11-23 00:59:30 · 1889 阅读 · 0 评论 -
Qt Pro各个关键字的意义
**.pro文件中各变量意义:**◆ HEADERS 指定工程的 C++头文件(.h)。◆ SOURCES 指定工程的C++实现文件(.cpp)。◆ FORMS 指定需要 uic 处理的由 Qt 设计师生成的.ui 文件。◆ RESOURCES 指定需要 rcc 处理的.qrc 文件。◆ DEFINES 指定预定义的 C++预处理符号。◆ INCLUDEPATH 指定 C++编译器搜索全局头文件的路径。◆ LIBS 指定工程要链接的库。库既可以通过绝对路径指定,也可以使用源自 Unix 的-转载 2021-11-23 00:08:59 · 398 阅读 · 0 评论 -
QT创建文件夹并在文件夹下创建文件
话不多说了,挺困的,直接上代码吧 QFileInfo info("./QFile.exe"); QString absolutePath = info.absolutePath(); QString dirName = absolutePath+"/"+QDateTime::currentDateTime().toString("yyyy-MM-dd"); QDir dir(dirName); if(!dir.exists()) { dir.mk原创 2021-11-22 00:37:56 · 16463 阅读 · 1 评论 -
【无标题】
单例模式:单例类:保证一个类只有一个实例,并提供一个访问它的全局访问点。主要解决:全局使用的类频繁地创建和销毁。使用条件:当想控制实例数目,节省公共类频繁的创建销毁造成的系统资源开销。单例类特征:构造函数是私有的。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。实例:#ifndef SINGELCLASS_H#define SINGELCLASS_H#include <QMutex>class si原创 2021-11-18 00:01:03 · 174 阅读 · 0 评论 -
Qt对xml文件的简单操作
写入xml QString fileName = QFileDialog::getSaveFileName(this,"Save","*.xml"); QFile file(fileName); if(!file.open(QIODevice::WriteOnly|QIODevice::Text)) { return; } QDomDocument document; QString strHeader("version='1.0'encod原创 2021-11-17 23:07:54 · 549 阅读 · 0 评论 -
Qt--实现简单的操作Office
效果图:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QMessageBox>#include <QAxObject>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(原创 2021-11-08 00:49:04 · 1444 阅读 · 0 评论 -
QT--SQLite的简单使用demo
#include <QCoreApplication>#include <QTextCodec>#include <QSqlDatabase>#include <QSqlQuery>#include <QTime>#include <QSqlError>#include <QtDebug>#include <QSqlDriver>#include <QSqlRecord>int m原创 2021-11-04 00:29:44 · 377 阅读 · 0 评论 -
QT常用类型int、string、QString、QArrayByte、char之间的转换
1、int 转QStringint m=1;QString b;b=QString::number(m);2、QString 转intQString a="abc";int b;b= a.toInt();3、char 转换为QStringchar a='b';QString str;str = QString(a);或char name='acdfgsa';QString str;str = QString::fromlocal8bit(name);4、QString原创 2021-04-06 00:01:23 · 3260 阅读 · 0 评论 -
QUdpSocket类的主要接口函数
bool bind(quint16 por=0) 为UDP通信绑定一个端口qint writeDatagram(QByteArray &datagram,QHostAddress &host,quint16 port) 向目标地址和端口的UDP客户端发送数据报,返回成功发送的字节数bool hasPendingDatagrams() 当至少有一个数据报需要读取的时候,返回trueqint64 pendingDatagramSize() 返回第一个待读取的数据报的大小qi原创 2021-04-05 23:38:58 · 637 阅读 · 0 评论 -
使用一个大的for循环造成卡屏现象的解决方案
for循环使用的过程中,使用一个大的for循环,输出大量的数据时会造成卡顿的现象原因:for循环在循环结束后才会输出循环体中的数据,大量的数据会使得for循环长时间的循环遍历解决方案:在循环体中加一个间断输出的函数for( ; ;){ int i=0; i++; if(i%1000 ==0) { QCoreApplication::processEvents(); }}就可以实现没循环一千次就会有一次输出此解决方案目前只在QT中使用过,所以来记录一下,在原创 2021-03-30 01:05:53 · 3317 阅读 · 0 评论 -
QT:进度条
ui:效果图:代码部分:.h文件只加了一个 void startProgress()方法.cpp文件#include "dialog.h"#include "ui_dialog.h"#include <QProgressDialog>Dialog::Dialog(QWidget *parent) : QDialog(parent) , ui(new Ui::Dialog){ ui->setupUi(this); connect (u原创 2021-03-30 00:32:17 · 513 阅读 · 0 评论 -
QT按钮事件
点击按钮,实现按钮打开与关闭的切换定义按钮事件函数为:StartBtnClicked();void StartBtnClicked(){if(!isStarted){StartBtn->setText(tr(“停止”));timer->start(1000);//设置定时器isStarted = true;}else{StartBtn->setText(tr(“开始”));isStarted = false;timer->stop();//停止}}原创 2021-03-28 17:41:46 · 1550 阅读 · 0 评论 -
QT获取本机网络信息
1、在 .pro文件中加入 QT += network2、在ui界面中画出界面,注意命名代码部分:networkinformation.h#ifndef NETWORKINFORMATION_H#define NETWORKINFORMATION_H#include <QWidget>#include <QHostInfo>#include <QNetworkInterface>QT_BEGIN_NAMESPACEnamespace Ui { c原创 2021-03-28 13:36:38 · 274 阅读 · 0 评论 -
Qt客户机与服务器的简单交互
效果图:理清TCP通信逻辑------最重要代码部分:tcpserve.h#ifndef TCPSERVE_H#define TCPSERVE_H#include<QTcpServer> // 监听套接字#include<QTcpSocket> //通信套接字#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class TcpServe; }QT_END_NAMESPACEclas原创 2021-03-27 01:58:09 · 633 阅读 · 0 评论 -
QCheckBox使用示例
完整示例转载自:https://blog.youkuaiyun.com/qq_20252351/article/details/94222366效果展示:代码部分CheckBoxText.h#ifndef CHECKBOXTEST_H#define CHECKBOXTEST_H#include <QWidget>#include <QLabel>#include <QVector>#include <QCheckBox>#include &转载 2021-03-26 01:59:44 · 798 阅读 · 0 评论 -
QT实现打开文件将文件路径在LineEdit中显示,TextEdit输出数据
代码部分:使用的UI模式,.h部分只定义了一个槽函数#ifndef WIDGET02_H#define WIDGET02_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class Widget02; }QT_END_NAMESPACEclass Widget02 : public QWidget{ Q_OBJECTpublic: Widget02(QWidget *parent = nullpt原创 2021-03-26 01:23:04 · 4730 阅读 · 0 评论 -
QT 文件的读写操作在TextEdit中输出
话不多说,上代码widget.h代码//主要是两个槽函数#ifndef WIDGET_H#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = nullptr);原创 2021-03-25 23:45:49 · 8525 阅读 · 0 评论 -
2021-03-21
1、现在工程目录下创建一个xml文件2、话不多说,上代码#include<QCoreApplication>#include<QtXml>int main(int argc,char* argv[]){ QCoreApplication a(argc,argv); //創建QDomDocument类对象,它代表一个xml文档 QDomDocument doc; QFile file("../myDOM1/my.xml"); if(!file.open(QIO原创 2021-03-21 17:45:51 · 89 阅读 · 0 评论 -
Qt实现简单的增删改查
1、首先在.pro文件中加入 QT += sql widgets2、创建连接类connection.hstatic bool createConnection(){ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("my.db"); if(!db.open()) { QMessageBox::critical(0,"Cannot open datab原创 2021-03-21 17:15:23 · 3023 阅读 · 4 评论 -
QT:基本控件的使用1
这个是书上的一个示例,有需要的可以去看看书,书上的案例挺全的。效果展示:1、选择文本框实例,可以打开文件目录,并将文件路径显示在文本框中;2、点击颜色标准对话框实例,可打开一个Color插件,选择颜色,实现文本框的填充;3、点击字体标准对话框按钮,打开字体插件,转换字体大小,可调整文本框中的“Hello World”;4、点击标准输入对话框按钮,可查看信息科进行修改,如图2所示;5、点击用户自定义消息对话框实例,程序会弹出对话框,如图3所示;图1:图2: 图3:代原创 2021-02-07 10:12:52 · 250 阅读 · 0 评论 -
Qt:布局实例
效果图展示:代码实现:userinfo.h//左侧 QLabel * UserNameLabel; QLabel * NameLabel; QLabel * SexLabel; QLabel * DepartmentLabel; QLabel * AgeLabel; QLabel * OtherLabel; QLineEdit * UserNameLineEdit; QLineEdit * NameLineEdit; QComb原创 2021-02-05 16:29:40 · 524 阅读 · 0 评论 -
QT:水平布局和垂直布局
QVBoxLayout:垂直布局QWidget *widget = new QWidget();QVBoxLayout * vBoxLayout = new QVBoxLayout();QLabel *label = new QLabel("hello");QPushButton *pushButton = new QPushButton("hi");vBoxLayout->addWidget(label);vBoxLayout->addWidget(pushButton);wi.原创 2021-02-05 16:25:11 · 1341 阅读 · 1 评论 -
基于QT的聊天室
项目介绍:本项目是基于C++实现的一个具有群聊功能的聊天室小程序。客户端和服务器都是基于QT实现的。运行截图展示:项目目录:原创 2021-02-04 13:09:27 · 2272 阅读 · 4 评论 -
打开QT项目(亲测有效)
第一步:打开QT Creater ,点击文件,选择“打开文件或项目”**第二部:**点击“打开文件或项目”后,选择要打开的项目,选择“ .pro”文件进行打开,就可打开项目了。注意:项目路径一定不能包含中文,不然会出现打开错误、或打开的项目中只有一个".pro"文件,或者直接打不开。...原创 2021-01-28 10:27:09 · 23415 阅读 · 8 评论