Qt
智渝
生无路而勤为径
展开
-
Qt拷贝目录
#include <QDir>#include <QFile>#include <QFileInfo>bool cppath(const QDir& from, QDir& to, bool cover){ if (!to.exists()) { if (!to.mkdir(to.absolutePath())) { return false; } } QFileI原创 2021-07-10 17:59:21 · 595 阅读 · 0 评论 -
Qt MSVC编译器设置支持UTF8编码
将代码文件设置为UTF-8编码,再在pro文件中添加如下配置:msvc { QMAKE_CFLAGS += /utf-8 QMAKE_CXXFLAGS += /utf-8}原创 2021-01-29 23:09:21 · 1930 阅读 · 0 评论 -
QGridLayout交换两个QWidget
交换QGridLayout中的两个QWidget.github传送门:https://github.com/shaoguangwu/SwapGridLayoutWidget亲测有效。原创 2021-01-08 00:49:29 · 817 阅读 · 0 评论 -
QGridLayout重置行列比
Qt网格布局动态布局时,若行数或者列数减少时,需要重置比例,否则旧比例依旧存在: // 重置比例 for (int i = 0; i < gridLayout->rowCount(); ++i) { gridLayout->setRowStretch(i, 0); } for (int i = 0; i < gridLayout->columnCount(); ++i) { gridLayout->se.原创 2021-01-07 22:28:29 · 776 阅读 · 1 评论 -
Qt获取本机网卡信息
//// netinfo.h//#include <QNetworkInterface>#include <QHostInfo>static QString interfaceTypeToString(QNetworkInterface::InterfaceType t){ switch (t) { case QNetworkInterface::Unknown: return "Unknown"; break;原创 2020-08-13 10:14:36 · 1197 阅读 · 0 评论 -
QLineEdit后面放置一个按钮
QToolButton* btn = new QToolButton; btn->setText("..."); btn->setCursor(Qt::ArrowCursor); QWidgetAction* action = new QWidgetAction(ui.lineEdit); action->setDefaultWidget...原创 2020-04-27 23:21:14 · 977 阅读 · 0 评论 -
Qt5 TabWidget Tab栏 添加按钮
QPushButton* tabButton = new QPushButton(tr("+"), this); ui.tabWidget->setCornerWidget(tabButton);效果如下:原创 2020-04-27 21:53:40 · 3603 阅读 · 0 评论 -
Qt5获取当前用户名
#include <QDir>#include <QStandardPaths>#include <QProcess>QString getCurrentUserName(){ QString userName; if (userName.isEmpty()) { QStringList envList = QPro...原创 2020-04-22 23:40:45 · 1589 阅读 · 0 评论 -
Qt QTextEdit设置滑动条处于顶部或者底部
通过设置光标位置来改变滑动条位置void setTextCursorToTop(){ QTextCursor textCursor = ui->textEdit->textCursor(); textCursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor); ui->text...原创 2020-04-21 01:30:17 · 3073 阅读 · 0 评论 -
Qt判断鼠标移动的同时鼠标左键被按下
// QMouseEvent* e;if (e->type() == QEvent::MouseMove && (e->buttons() & Qt::LeftButton )) { // TODO}原创 2020-03-22 23:28:13 · 4129 阅读 · 0 评论 -
Qt设置鼠标样式
this->setMouseTracking(true); //设置为不按下鼠标键触发moveEventvoid mouseMoveEvent(QMouseEvent* event){ QPoint mousepos = event()->pos(); //在坐标(0 ~ width,0 ~ height)范围内改变鼠标形状 if(mousep...原创 2020-02-14 19:24:44 · 1524 阅读 · 0 评论 -
QVTKOpenGLNativeWidget链接鼠标点击事件槽函数,获取鼠标点击处坐标
Qt UI可视化界面中放置一个QWidget,并将之提升为QVTKOpenGLNativeWidget,这里我将之命名为vtkWidget;构造函数中连接信号与槽: connect(ui.vtkWidget, SIGNAL(mouseEvent(QMouseEvent*)), this, SLOT(onVtkWidgetMouseEvent(QMouseEve...原创 2020-02-05 16:09:51 · 3212 阅读 · 6 评论 -
Qt检测系统语言并安装翻译文件
#include "MainWindow.h"#include <QApplication>#include <QLocale>#include <QTranslator>int main(int argc, char *argv[]){ QApplication a(argc, argv); QTranslator trans...原创 2020-01-15 00:00:28 · 462 阅读 · 0 评论 -
Qt5.9设置窗口透明而控件不透明
三行代码搞定:this->setWindowFlags(Qt::FramelessWindowHint);this->setWindowOpacity(1);this->setAttribute(Qt::WA_TranslucentBackground);效果如下: 这是一个QDialog窗体,Qwidget一样实用,中间文字显示部分为QLabel控件,下方两个按钮为QDi...原创 2018-06-01 01:47:48 · 8101 阅读 · 3 评论 -
QWebView中调试js代码(QWebInspector)
头文件:#include <QWebInspector> QWebSettings *settings = ui->webView->settings();settings->setAttribute(QWebSettings::DeveloperExtrasEnabled, true);settings->setAttribute(QWebSetti...原创 2018-12-13 14:08:19 · 1614 阅读 · 0 评论 -
qwebchannel.js
来源Qt版本:Qt5.9.6/******************************************************************************** Copyright (C) 2016 The Qt Company Ltd.** Copyright (C) 2014 Klarälvdalens Datakonsult AB, a KDAB ...原创 2018-10-11 21:44:03 · 2204 阅读 · 0 评论 -
Qt获取QText Edit的文本内容
不同于其它控件的text()函数,QText Edit获取文本的函数为toPlainText()。QString strTxtEdt = ui->textEdit->toPlainText();函数原型:QString QTextEdit::toPlainText() const;Returns the text of the text edit as plain t...原创 2018-07-22 22:47:08 · 24596 阅读 · 0 评论 -
Qt5获取计算机可用串口,并将之储存到QStringList中
前言:Qt下由两种方式获得计算机可用串口:一是通过读取注册表获取,当然这只适用于Windows系统;二是利用QSerialPort和QSerialPortInfo类来获取。本文代码使用Qt5.9.6版本测试。 方法一 获取windows注册表中的串口信息1. 使用到的头文件:需要...原创 2018-07-22 18:07:48 · 4697 阅读 · 2 评论 -
Qt5安装时的组件选择(Qt 5.9.6)
如下图所示,安装Qt时有选择组件这一步,全部安装未免太占磁盘控件,只需安装我们所需要的组件即可。接下来就分析分析各个组件的作用及含义。 “Qt 5.9.6”节点下面是 Qt 的功能模块,包括用于不同编译器和平台的模块,这些模块包括内容如下:① MinGW 5.3.0 32 bit 编译器模块。MinGW 是 Minimalist GNU for Windows 的缩写,MinGW是...原创 2018-07-10 19:59:33 · 43899 阅读 · 2 评论 -
Qt5使用代码设置窗口背景图
在构造函数中添加如下代码:QPalette pa;QPixmap pixmap(":/image/image/jiemian.png"); // 资源文件路径pa.setBrush(this->backgroundRole(), QBrush(pixmap));this->setPalette(pa);需要用到的头文件:#include <QPalette>...原创 2018-06-27 01:31:44 · 2217 阅读 · 0 评论 -
Qt Creator默认字体
之前偶尔把Qt的文本编辑器字体改了,效果不好,很难受。找了好久才找到默认字体,特此记录。字型:Courier / Courier New原创 2018-12-10 13:58:30 · 6734 阅读 · 4 评论 -
Qt使用MSVC编译器输出中文乱码的问题
在Qt Creator中使用MSVC编译器编译时,程序中的中文字符很容易出现乱码的情况。特写此篇博客分析原因和解决方法。本文示例采用Qt5.9.6版本和MSVC2015版本。一 原因分析 Qt Creator保存的文件(如.cpp .h)默认保存为UTF-8编码(任何平台、任何语言都能使用的跨平台字符集),而MSVC编译器虽然可以正常编译带BOM的UTF-8编码的源文件,但是生...原创 2018-12-16 00:16:35 · 3298 阅读 · 1 评论 -
Qt项目中如何添加资源文件?
一、说明:Qt版本:Qt 5.9.1平台:windows 10 专业版以添加图片资源为例。二、步骤1、我们新建一个test项目来演示2、右键点击test项目,选择添加文件:3、选择Qt-->Qt Resource File:4、输入名称,点击下一步:5原创 2017-12-01 23:35:08 · 16236 阅读 · 0 评论 -
ubuntu安装Qt5
Qt安装打开终端,cd到文件所在目录设置权限sudo chmod +x qt-opensource-linux-x64-5.12.1.run安装sudo ./qt-opensource-linux-x64-5.12.1.run配置配置系统路径(解决找不到头文件、无法添加文件的问题)sudo vi /etc/bash.bashrc在文末添加如下代码:export QTD...原创 2019-09-02 14:30:02 · 481 阅读 · 0 评论 -
Qt清空QListWidget
QListWidget中的每一项都是一个QListWidgetItem类的指针对象,所以,我们清空QListWidget的时候务必要delete它。如下代码:while (ui.listWidget->count() > 0){ QListWidgetItem *item = ui.listWidget->takeItem(0); delete item;...原创 2019-06-02 01:27:22 · 2604 阅读 · 0 评论 -
QString包含中文时转char*乱码
MSVC编译器,main函数中添加:QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());同时,使用char*字符串构造Qstring时,使用QString::fromLocal8Bit()即可。转换的时候,先将QString转换为QByteArray,然后取QByteArray的data。注意不要连用QString(...原创 2019-04-14 21:09:19 · 919 阅读 · 0 评论 -
总结Qt5有关目录和文件的几个重要类
目录1. 说明2. QCoreApplication类3. QDir类4. QFile类5. QFileInfo类6. QTemporaryDir和QTemporaryFile类7.QFileSystemWatcher类1. 说明 本文内容翻译自Qt帮助文档,其中加了一些博主自己的理解,Qt版本为Qt 5.9.7。2. QCoreApplication...原创 2019-04-21 22:44:38 · 1139 阅读 · 0 评论 -
Qt5内置鼠标样式
Qt内置鼠标样式定义在枚举 enum Qt::CursorShape 内,下图来自Qt5.9.7帮助文档:原创 2019-04-17 01:46:04 · 734 阅读 · 0 评论 -
Qt按屏幕比例设置窗口大小
窗口构造函数中添加:resize(QGuiApplication::primaryScreen()->availableSize() * 3 / 5);此时会将窗口大小设置为屏幕大小的3/5。原创 2019-04-13 18:36:42 · 2760 阅读 · 0 评论 -
Qt5 控件ToolTip失效的解决方法
环境:Qt5.9.6 + VS2015本文以QToolButton为例。 1. 头文件里声明事件过滤函数:bool eventFilter(QObject *watched, QEvent *event);2. 构造函数中给控件安装事件过滤器:_addNewTabBtn.installEventFilter(this);3. 实现eventFilter函数:b...原创 2019-01-13 02:37:52 · 3497 阅读 · 0 评论 -
Qt5内置图标
Qt里内置了一批图标,qstyle.h头文件里有QStyle::StandardPixmap枚举了这些图标,接下来一起看看这些图标分别是什么样,如何使用内置图标。 Qt版本:Qt5.9.6,操作系统:windows10。1. 先看看这些图标的枚举值及官方描述。 enum QStyle::StandardPixmap QStyle::SP_Titl...原创 2019-01-13 01:45:30 · 3360 阅读 · 0 评论 -
Qt可执行程序写入版本信息
Qt可执行程序写入版本信息【1】新建Qt工程 1.1 具体新建步骤不赘述。 1.2 新建工程后文件目录如下: 1.3 留意对比一下你的代码目录,可以发现我的文件目录中多了一个rc类型的资源文件。那么,它也就是关键点。 1.4 首先需要添加这个资源文件。 方法很简单:新建一个txt文件。当然,名称按具体项目自拟,再把后缀直接改为rc类型即可。 ...转载 2018-12-30 14:18:25 · 458 阅读 · 0 评论 -
Qt5获取windows系统下除去任务栏后的屏幕高度
头文件添加:#include "windows.h"引用windows API获取除去任务栏后的高度和宽度: int width = GetSystemMetrics(SM_CXFULLSCREEN); int height = GetSystemMetrics(SM_CYFULLSCREEN);...原创 2018-05-24 00:04:27 · 3343 阅读 · 3 评论 -
VS2017专业版使用最新版Qt5.9.2教程(最新教材)
VS2017专业版使用最新版Qt5.9.2教程(最新教材)转载自:http://blog.csdn.net/qq_33154343/article/details/78587699最近三天一直在安装Qt5.9.2,为了能够在自己专业版的VS2017上面使用?可以算是花费了不少的功夫。但是一路上并不是很顺利,就在刚才,终于配置好了,能够在自己的VS2017上面编写Qt编码了,简直就是开心到飞起来。在...转载 2018-03-09 22:39:22 · 1066 阅读 · 0 评论 -
工程实训项目总结 - 基于Qt的校园信息平台开发(公告、时钟、天气、软键盘)
本项目为 系列1、2、3整合,窗口采用 QTabWidget 管理,Qt版本为Qt5.9.3(MSVC 2015)。并且实现了嵌入式移植,交叉编译过的文件和源码已打包,下载地址:http://download.csdn.net/download/wu9797/10213212报告(论文)已上传至百度文库:https://wenku.baidu.com/view/c2975409bdd126fff原创 2018-01-19 00:00:15 · 1240 阅读 · 2 评论 -
Qt简单绘图,圆形笔头的设置
void Painter::paintEvent(QPaintEvent *e){ qDebug()<<"************"; QPainter painter(this); //绘线 painter.drawLine(0,0,400,400); //绘矩形 painter.drawRect(0,0,400,400); //绘圆原创 2017-12-25 01:13:03 · 796 阅读 · 0 评论 -
Qt 5给应用程序添加图标
将图标文件(xxx.ico)放到源码目录,然后在工程文件xxx.pro里面添加一行代码:RC_ICONS+= xxx.ico即可。原创 2017-12-04 20:23:05 · 638 阅读 · 0 评论 -
Qt给窗口或者控件设置透明度
一、说明:Qt版本为:Qt 5.9.1 windows32Bit版二、使用代码设置的方法:1、setWindowOpacity(0.7) 0为全透明,1为不透明。2、样式表:示例:QPushButon{background-color:rgba(255,255,255,100)}前三个数字为rgb颜色,后面的100指rgba中的a,也就是alpha,取原创 2017-12-05 17:11:03 · 4239 阅读 · 0 评论 -
Qt添加背景图片而不影响其控件的不用代码的设置方法
说明:Qt版本:5.9.1效果图:一、我们选中MainWindow,右击选择改变样式表,添加背景图片后,是这样的:二、可见,控件收到了影响,那么我们将样式表中的格式稍加修改:三、按F5运行程序就可以看到控件不会受到影响了。原创 2017-12-04 22:26:59 · 12031 阅读 · 8 评论 -
Qt中mouseMoveEvent无效
终于找到解决方法了,留着备用,本文系原文转载:最近用Qt软件界面,需要用到mouseMoveEvent,研究了下,发现些问题,分享一下。在Qt中要捕捉鼠标移动事件需要重写MouseMoveEvent,但是MouseMoveEvent为了不太耗资源在默认状态下是要鼠标按下才能捕捉到。要想鼠标不按下时的移动也能捕捉到,需要setMouseTracking(true)。b转载 2017-12-04 16:41:44 · 1299 阅读 · 0 评论