Qt
hss2799
这个作者很懒,什么都没留下…
展开
-
QT的工程pro文件常用宏
【代码】QT的工程pro文件常用宏。原创 2024-07-04 15:16:43 · 622 阅读 · 0 评论 -
【Qt】QTableWidget设置可以选择多行多列,并能复制选择的内容到剪贴板
比如有一个 QTableWidget*m_tbwQuery。在事件过滤中处理键盘事件,快捷键是Ctrl+C。最后是实现复制到剪贴板的函数。原创 2024-07-04 11:06:57 · 766 阅读 · 0 评论 -
QGraphicse有大量Item要如何管理提高性能
如果Item的计算或更新操作耗时较长,可以考虑将其放入单独的线程中进行处理,以避免阻塞主线程。可以利用 Qt 的线程机制或异步任务处理来实现。可以使用 QGraphicsView 的 setSceneRect() 方法限制场景的绘制区域,以便只绘制可见的Item。对于静态或不经常变化的图形项,考虑绘制为图片(QPixmap、QImage 等对象)后进行缓存,下次显示时显示为图片。将多个相邻的 Item 组合成一个 QGraphicsItemGroup,降低绘图和事件处理的开销。原创 2024-03-05 16:40:15 · 727 阅读 · 0 评论 -
QT 事件机制 学习
Qt 事件机制的学习记录原创 2023-03-03 15:56:53 · 141 阅读 · 1 评论 -
QT 元对象系统 学习
Qt 元对象系统的学习记录原创 2023-03-03 14:05:46 · 107 阅读 · 0 评论 -
QT获取exe 编译的日期时间,每次运行都更新编译时间
获取Qt 生成exe时,编译的时间,可以用于判断版本原创 2022-09-14 10:41:11 · 1274 阅读 · 0 评论 -
QString的两个字符串相加
QString 的数一旦,长度太长,转成toDouble, toLongLong,都不够用时,用字符串相加原创 2022-07-21 15:57:17 · 1387 阅读 · 0 评论 -
Qt 修改pro文件可以将生成exe或dll文件复制到多个地方
Qt 生成的exe 复制到多个文件夹Qt 生成的dll 复制到多个文件夹Qt 生成的lib 复制到多个文件夹原创 2022-06-15 16:23:12 · 1532 阅读 · 1 评论 -
QT windows防锁屏实现
利用键盘上不使用的SCROLL健,连续按2次,第一次灯亮,第二次灯灭头文件中 int keyType = 0; //防锁屏按健类型 QTimer *keyTimer; //防锁屏,按键定时器实现绑定信号好槽 keyTimer = new QTimer(this); connect(keyTimer,SIGNAL(timeout()),this,SLOT(slotKeyTimerOut())); keyTimer-原创 2022-03-08 13:59:45 · 751 阅读 · 0 评论 -
开机时,qt软件启动数据库服务
遇到一个问题,使用了MySql 数据库,开机时,有部分电脑不会自动启动 MySql 服务,只能去手动启动。现在通过代码的形式,主动去启动服务。//启动数据库服务void startMySqlServer(){ QString mySqlName = "mysql"; QStringList arguments; arguments << "start" << mySqlName; QProcess process; process.sta原创 2021-11-10 10:37:29 · 862 阅读 · 0 评论 -
QT moveToThread学习记录
帮助文档这些写的:void QObject::moveToThread(QThread *targetThread)Changes the thread affinity for this object and its children. The object cannot be moved if it has a parent. Event processing will continue in the targetThread.To move an object to the main thre原创 2021-09-23 14:30:13 · 271 阅读 · 0 评论 -
QT c++ 防止锁屏操作
QTimer *keyTimer; //防锁屏,按键定时器 int keyType = 0;代码实现 connect(keyTimer,SIGNAL(timeout()),this,SLOT(slotKeyTimerOut())); keyTimer->start(20000);``相当于每隔20秒,按下ScrollLock 键后松开,然后再按下松开,这个键一般用不到。按两次是因为,按一次灯会亮,再按一次灯会灭。中间间隔10毫秒,测试过如...原创 2021-09-18 16:58:25 · 779 阅读 · 0 评论 -
Qt 线程 学习笔记2
Qt 线程 一、重写run函数函数体运行不结束while,循环处理相关功能需求数据保护QMutex 互斥锁退出与析构函数运行结束注意点this 和run 不是一个线程,run函数中new时,不能使用另外一个线程的变量作为父指针this触发的槽,执行的线程不是run函数所在线程槽函数中和run函数中使用的变量,是跨线程使用,需要上锁二、QThread 指针new,然后start,moveToThread到子线程 事务处理1.QThread 指针子线程2.start启动线程,原创 2021-08-24 16:15:53 · 194 阅读 · 0 评论 -
QT 删除文件夹
删除文件夹需要注意的是,如果文件夹不是空的,就删除不掉。所以,思路就是:1.遍历文件夹,删除所有文件和子文件夹,文件直接删掉2.如果是子文件夹,就再次遍历调用,删除子文件夹中所有文件,然后再删除自己3.等待所有子文件夹都删除了,再删除掉文件夹//删除文件夹bool deleteDir(const QString &path){ if (path.isEmpty()) { return false; } QDir dir(path);原创 2021-08-20 15:40:48 · 4364 阅读 · 3 评论 -
QString 非数字的字符串补齐空格等
QString 非数字的字符串补齐空格等///-----------------------------------------------------------------------------/** *Brief : 补齐填充函数 *Function: slotAppectTask *Param : [in] QString str -- 需补齐字符串 * : [in] int maxLen -- 需对齐的长度 *原创 2021-07-07 11:04:36 · 2952 阅读 · 0 评论 -
QT QTableWidget 5种选择模式
table->setSelectionMode(QAbstractItemView::SingleSelection);共有5种选择: enum SelectionMode { NoSelection, SingleSelection, MultiSelection, ExtendedSelection, ContiguousSelection };QAbstractItemView::NoSe原创 2021-06-08 18:29:32 · 1925 阅读 · 0 评论 -
qSetMessagePattern Qt输出控制例子
qSetMessagePattern("%{time hh:mm:ss.zzz}" "%{if-debug}[D]%{endif}" "%{if-warning}[W]%{endif}" "%{if-info}[I]%{endif}" "%{if-critical}[C]%{endif}" ...原创 2021-05-26 13:53:00 · 161 阅读 · 0 评论 -
Qt属性系统记录笔记
Q_PROPERTY(type name (READ getFunction [WRITE setFunction] | MEMBER meznberName [(READ getFunction | WRITE setFunction)]) [RESET resetFunction] [NOTIFY notifySignal] [REVISION int] [DESIGNABLE bool] [SCRIPTABLE bool] [STORED bool]转载 2021-05-26 11:13:36 · 138 阅读 · 0 评论 -
QTableWidget 常用接口封装一
//获取TableWidgetItemQTableWidgetItem* getTableWidgetItem(QTableWidget*table,int row ,int column,int alignment=Qt::AlignCenter){ QTableWidgetItem* pItem = table->item(row,column); //找到单元格 if(pItem == 0) { pItem = new QTableWidgetIt.原创 2021-05-19 18:13:29 · 407 阅读 · 0 评论 -
Qt 信号和槽连接的 connect 第五个参数
connect用于连接qt的信号和槽,在qt编程过程中不可或缺。它其实有第五个参数,只是一般使用默认值,在满足某些特殊需求的时候可能需要手动设置。Qt::AutoConnection: 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnection类型。Qt::DirectConnection:槽函数会在信号发送的时候直接被调用,槽函数运行于信号发送原创 2021-05-13 10:18:46 · 972 阅读 · 0 评论 -
Qt 线程锁的一种释放方式
QMutex tasksMutex;void funtion(){ QMutexLocker locker(&tasksMutex); ....}这样使用,函数结束时,自动释放锁原创 2021-05-12 18:55:12 · 499 阅读 · 0 评论 -
如何使用qDebug打印包含换行符的QString
1. qDebug打印包含换行符的QStringQString output("我想\n换行");qDebug() << output;打印出来不换行"我想\n换行"2.加上noquote()QString output("test1\ntest2");qDebug().noquote() << output;打印出来换行:"我想换行"...原创 2021-04-21 12:37:33 · 4678 阅读 · 0 评论 -
Qt QDateEdit 日期样式设置例子
//初始化日期控件 void initDateEditUI(QDateEdit*dateEdit,QWidget*parent) { dateEdit->setAlignment(Qt::AlignCenter); dateEdit->setCalendarPopup(true); dateEdit->setDisplayFormat("yyyy-MM-dd"); dateEdit->setDat原创 2021-03-31 13:41:52 · 4446 阅读 · 0 评论 -
QTabWidget 样式例子
QTabWidget::pane{ border: 2px solid rgb(210, 210, 210); background:rgb(246, 246, 246); border-top-color:transparent;}QTabWidget::tab-bar{ background:rgb(0, 0, 0); subcontrol-position:left;}QTabBar::tab{ width:173px; height:45px; background:r...原创 2021-03-23 14:51:54 · 3667 阅读 · 0 评论 -
QSlider 样式例子
QSlider样式设置例子原创 2021-03-23 14:46:51 · 1102 阅读 · 0 评论 -
Qt sqlite 数据库操作封装
封装接口:1.生成数据库文件2.打开数据库3.关闭数据库4.执行Sql语句5.增删改查的实现及重载接口6.事务操作:taransction和commit直接贴代码sqliteDb.h#ifndef SQLITEDB_H#define SQLITEDB_H#include <QDir>#include <QDate>#include <QDateTime>#include <QFileInfo>#include <QStr原创 2021-03-05 16:04:22 · 3345 阅读 · 6 评论 -
QT获取文件夹及文件行数
#include "mainwindow.h"#include "ui_mainwindow.h"//获取TableWidgetItemQTableWidgetItem* getTableWidgetItem(QTableWidget*table,int row ,int column,int alignment){ QTableWidgetItem* pItem = table->item(row,column); //找到单元格 if(pItem == 0) .原创 2021-03-04 10:09:50 · 5086 阅读 · 1 评论 -
Qt 控件命名前缀(仅供参考)
Qt 控件命名前缀(仅供参考),根据自己的习惯,自行调整。QWidget: widgetQPushButton: btn QRadioButton: rbtnQToolButton: tbtnQLabel: lblQLineEdit: ldtQTextEdit: textQTextBrowser: textQStackedWidget: stackQTabWidget:...原创 2021-03-02 13:50:13 · 1238 阅读 · 0 评论 -
QT 获取QTextEidt 自动换行后的行数
//获取一个block 的折叠行数void getTextLineCount(QTextBlock& block, int& lineCount){ QTextLayout *lay = block.layout(); if(block.position() == 0) { lineCount += lay->lineCount(); return; } else { lineCoun.原创 2021-03-02 13:16:14 · 2673 阅读 · 3 评论 -
Qt QPushButton水晶按钮样式例子
1.不使用图片的:.QPushButton { background:qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(233, 233, 233, 255), stop:0.35 rgba(220, 220, 220, 255), stop:0.5 rgba(213, 213, 213, 255), stop:0.65 rgba(230, 230, 230, 255), stop:1 r...原创 2021-02-26 11:19:20 · 5740 阅读 · 2 评论 -
Qt 用样式实现实心圆和空心圆
实心圆和空心圆的样式//实心圆background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0 rgba(63, 158, 208, 255), stop:0.8 rgba(63, 158, 208, 255),stop:0.85 rgba(255, 255, 255, 255) );//空心圆background-color: qradialgradient(spr原创 2021-02-25 09:50:22 · 4655 阅读 · 2 评论 -
QToolTip样式设置的两种方式
方式一使用样式表设置label->setStyleSheet("QToolTip{border:1px solid rgb(118, 118, 118); background-color: #ffffff; color:#484848; font-size:12px;}"); //设置边框, 边框色, 背景色, 字体色, 字号label->setToolTip("tooltip text!");方式二使用调色板设置//设置QToolTip颜色QPalette pale转载 2021-02-23 12:42:51 · 1671 阅读 · 0 评论 -
QLineEdit 提示的两种方式
第一种,用toolTip的形式 lineEdit->setToolTip("范围为0-220,2位小数");第二种,用占位符的形式 lineEdit->setPlaceholderText("范围为0-220,2位小数");原创 2021-02-23 10:20:05 · 5272 阅读 · 3 评论 -
Qt 正则表达式:生成指定范围数值的正则表达式接口(整数和小数都可以)
int getExpNext(int num,int max){ QString chars = QString::number(num); for (int i=chars.length()-1; i>=0 ; i--) { if (chars[i]=='0') { chars[i] = '9'; } else { chars[i] = '9'.原创 2021-02-22 18:33:49 · 2285 阅读 · 1 评论 -
qt 五子棋
头文件#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QPainter>#include <QEvent>#include <QMouseEvent>#include <QMessageBox>class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent原创 2021-02-22 12:20:42 · 899 阅读 · 3 评论 -
QCheckBox 互斥勾选框
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->setupUi(this); QList< QCheckBox *> checkBoxList = this->findChildren<QCheckBo.原创 2021-01-26 14:42:51 · 2182 阅读 · 0 评论 -
Qt 启动界面
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QPaintEvent>#include <QPainter>#include <QMainWindow>#include <QtMath>#include <QList>#include <QTimer>#include <QFont>QT_BEGIN_NAMESPACEnamespace Ui {.原创 2021-01-26 12:26:02 · 671 阅读 · 0 评论 -
QTreeWidget 样式设置记录
先看效果图1.item高度的设置2.选中的样式3.去掉焦点状态(否则选中后有个灰框在上面)QStringList hraders; hraders<<"key" << "值"<< ""; ui->treeWidgetAdptive->setHeaderLabels(hraders); //添加树表的表头 ui->treeWidgetAdptive->setColumnWidth(0,40...原创 2021-01-22 15:20:07 · 3395 阅读 · 4 评论 -
QGroupBox互斥勾选框
// QGroupBox 互斥勾选框void mutexGroupBoxCheck(QList< QGroupBox *> groupList){ for(auto group:groupList) { if(group) { QGroupBox::connect(group,&QGroupBox::clicked,[=]{ bool check = group->isCh.原创 2021-01-19 09:52:33 · 1245 阅读 · 0 评论 -
Qt QTableWidget 触摸屏上滑动效果
要实现QTableWidget在触摸屏上,滑动记录,记录会跟着滑动,只需要加 QScroller *pScroller = QScroller::scroller(tablewidget); pScroller->grabGesture(tablewidget,QScroller::LeftMouseButtonGesture); tablewidget->setVerticalScrollMode(QListWidget::ScrollPerPixel);..原创 2021-01-04 13:44:52 · 2762 阅读 · 2 评论