qt
tgtsml
越努力,越幸运
展开
-
QComboBox禁用item及其QSS
对于QComboBox控件,经常需要设置其样式,有时候还需要禁用其中某些选项,使其不能被选中这里做点记录,方便自己查看,也希望给需要的人一点参考CPP示例代码需要设置如下,功能见注释://禁用item0ui->comboBox->setItemData(0, 0, Qt::UserRole - 1);//取消禁用item2ui->comboBox->setI...原创 2020-01-12 11:47:59 · 1646 阅读 · 1 评论 -
Qt5输入法实现
Qt开发过程中经常用到软键盘,自己做了个软键盘,记录笔记,方便自己以后查看,有需要的可以参考Qt输入法实现方式有很多种,这里只介绍输入法插件方式的实现话不多说,进入正题输入法插件的创建工程文件新建工程,模板选择lib,QT模块需要添加gui-privateQT += gui-privateTEMPLATE = lib插件接口类继承QPlatfo...原创 2019-12-09 20:22:21 · 4157 阅读 · 3 评论 -
QTableWidget, QTableView实现粘贴复制
概述粘贴板表格内容格式:列与列之间内容以制表符分隔("\t")行与行之间内容以换行符分隔("\n")粘贴:获取粘贴板内容,把内容分解成单个item的值并放到表格中通过QApplication::clipboard()->text()类获取粘贴板的内容复制:获取选中item,把选中item内容组织一下并放到粘贴板通过QApplication::clipboard()-&g...原创 2019-09-12 11:20:59 · 10001 阅读 · 0 评论 -
Qt之TCP通信
客户端利用QTcpSocket类实现对服务端的连接与通讯主要信号及函数各函数功能如其名信号:connected()readyRead()disconnected()主要函数:write()flush()connectToHost()disconnectFromHost()waitForConnected()waitForBytesWritten()waitForDi...原创 2019-07-13 17:29:21 · 391 阅读 · 0 评论 -
Qt实现简单打印
概述Qt实现打印的方法有多种,本文介绍自定义打印界面主要采用QPrinter,QPrintPreviewWidget两个类核心代码m_printer = new QPrinter(QPrinter::ScreenResolution);m_previewWidget = new QPrintPreviewWidget(m_printer, this);connect(m_preview...原创 2019-07-13 14:55:50 · 1643 阅读 · 1 评论 -
Qt生成随机数-qrand及QRandomGenerator
//老方法//利用qrand和qsrand生成随机数//位于QtGlobal中//例,生成一个0和10之间的随机数qsrand(QTime::currentTime().msec()); //设置种子,该种子作为qrand生成随机数的起始值,RAND_MAX为32767,即随机数在种子值到32767之间qrand()%10;//新方法//利用QRandomGenerator类//...原创 2019-06-18 15:49:31 · 23705 阅读 · 2 评论 -
Qt总结之QSS
属性//background:alternate-background-colorselection-background-color* backgroundbackground-color background-image (url(:/xxx))background-repeat (repeat-x | repeat-y | repeat | no-repeat)b...原创 2019-06-21 17:21:49 · 368 阅读 · 1 评论 -
Qt实现异形窗体
概述方法一:采用遮罩方式,用图片把控件遮挡方法二:采用图片透明度的方式,绘制图片时把透明度调到100%第一种方法绘制的图片边沿会有明显的虚线框,第二种方法绘制图片比较平滑实例代码.h文件:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>class QPixmap;class Widget : pub...原创 2019-05-29 23:31:16 · 1069 阅读 · 0 评论 -
Qt检测Windows应用是否正在运行
QString appName("exportCsvDemo.exe");QProcess process;process.start("tasklist", QStringList()<<"-fi"<<"imagename eq " +appName);process.waitForFinished();if(QString::fromLocal8Bit(proc...原创 2019-05-30 17:34:08 · 2268 阅读 · 0 评论 -
Qt类中使用函数指针数组
声明函数指针类型typedef void (MainWindow::*pFuns)(void);函数声明void test1();void test2();数组定义并赋值pFuns testFuns[2] = { &test1, &test2};通过函数指针数组调用函数 (this->*funs[0])();注意:一...原创 2019-05-13 13:38:18 · 2402 阅读 · 0 评论 -
QTableWidget使用自定义代理
#include <QItemDelegate>#include <QLineEdit>class TableItemEditDelegate : public QItemDelegate{ Q_OBJECTpublic : TableItemEditDelegate(QObject *parent = nullptr) : QItemDeleg...原创 2019-05-12 19:48:11 · 2146 阅读 · 0 评论 -
Qt实现多行表头
代码this->setMinimumSize(400, 300);QTableWidget *table_header = new QTableWidget(this);QTableWidget *table_content = new QTableWidget(this);table_header->setObjectName("table_header");table_...原创 2019-05-14 23:58:41 · 2959 阅读 · 3 评论 -
Qt5生成log文件
在arm板上运行qt程序的时候,调试方法除了生成core文件,gdb和串口调试外还可以通过查看输出日志文件定位bug,这样省去了接串口和操作gdb的麻烦,如果代码中有充分的log输出,通过log信息定位bug是相对简单快速的方法,下面简单介绍qt如何生成log文件注册消息函数在main函数体创建窗口之前注册:qInstallMessageHandler()注册消息后,代码中的log信息(如q...原创 2019-04-28 01:03:21 · 1166 阅读 · 0 评论 -
Qt5国际化及多语言切换
qt生成翻译文件步骤:生成.ts文件 --> 翻译字符串 --> 生成.qm文件 --> 软件加载翻译文件具体步骤如下:生成.ts文件命令行生成.ts文件:命令行进入工程源码目录,键入命令$ lupdate test.pro -ts zh.ts en.ts其中zh.ts和en.ts为翻译文件名称qtcreator生成.ts文件工程文件添加如下代码T...原创 2019-04-27 21:25:22 · 1823 阅读 · 0 评论 -
Qt5数据库操作
以下是一个Qt例子,其中主要涉及的类:QSqlDatabase,QSqlQuery,前者对数据库进行设置,后者执行sql语句QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");db.setDatab...原创 2019-04-27 17:29:26 · 909 阅读 · 0 评论