C++程序员Carea
十年一线开发经验,热爱 C++ ,热爱编程
展开
-
Qt开发常见报错大全与解决办法
下面的报错是我日常开发经常遇到的,对着下面的解决方法一招搞定就行了。我们没必要都去记住,只需要见方抓药即可。目前版本有27个常见报错,持续更新中。原创 2024-05-12 11:15:36 · 1041 阅读 · 1 评论 -
Qt程序移植到其他电脑上无法运行的解决方法windeployqt
创建系统环境变量:变量名:QT_PLUGIN_PATHC:\Qt\Qt5.12.10\5.12.10\msvc2017_64\plugins再按下面的来:Qt程序移植到其他电脑上无法运行的解决方法_originalcandy的博客-CSDN博客 windeployqt 可执行程序名原创 2022-07-13 20:04:39 · 1441 阅读 · 0 评论 -
Qt中QVariant支持自定义类型
让自定义类型放到QVariant只需要添加一个宏,同时自定义类型的成员都应该是Qt类型或者基础类型即可。这样就可以让自定义类型对象和QVariant对象之间互相转换了。#include <QDebug> //先声明类class Test{public: QString myName;};//注册自定义类型Q_DECLARE_METATYPE(Test) int main(int argc, char *argv[]){ Test test;原创 2022-05-17 14:21:46 · 1087 阅读 · 0 评论 -
Qt打开文件所在的文件夹
QFileInfo fileInfo(strFileName); auto pathDir = fileInfo.path(); QString strFilePath = "file:///" + pathDir; QDesktopServices::openUrl(QUrl(strFilePath));原创 2022-05-12 10:48:55 · 2504 阅读 · 0 评论 -
QT浏览文件QFileDialog
QT浏览文件获取文件路径QFileDialog QString str = QFileDialog::getOpenFileName(this, "open file()", "/", "text file(*.xyz);;C file();;All file(*.*)");原创 2022-05-08 11:16:46 · 574 阅读 · 0 评论 -
Qt栅格布局GridLayout
栅格布局就是二维数组一样的布局,每一个列的所有控件拥有同样的宽度。每一行的所有控件拥有同样的高度。同一行的所有控件占满整行。如果同一行的控件没有占满一行,最后一个放进来的控件会自动水平拉伸。如果要换一个控件水平拉伸,只需要把这一行其他的控件水平扩展设置为fixed,并设置好具体的宽度即可。...原创 2022-05-08 07:47:49 · 2458 阅读 · 0 评论 -
qt vs tools
当我们使用qt vs tools之后,就可以在vs中创建qt的工程,最终落地的还是一个vs的vcxproj工程。这样以来,下次打开vcxproj工程的时候,在vcxproj工程中会有一个地方有携带了qt的版本信息。如下图所示:上图表示我们用另一台电脑(电脑B)上的vs编译这个工程的代码的时候,需要在电脑B上给B上的vs配置qt vs tools管理的qt版本。要求要和当前电脑(电脑A)的配置一样。电脑A的配置如下:上图仅仅展示了win32的情况,这就说明了B电脑也要添加一个qt.原创 2022-05-06 14:44:30 · 2923 阅读 · 0 评论 -
QFrame自上而下排列多个控件
上面排列的关键在于,QFrame设置为垂直布局。最下面添加了一个label,内容为空,用来把上面的所有控件留来来的控件填满。上面的每个控件都是垂直fixed。这样他们就会紧紧挨在一起。...原创 2022-05-04 09:14:54 · 761 阅读 · 0 评论 -
QComboBox currentIndexChanged 槽函数与connect写法
槽函数 Q_OBJECTpublic slots: void OnCombox1IndexChanged(const QString&);槽函数定义void Hydraulicslopedigitaltwin::OnCombox1IndexChanged(const QString& context){ cout << "Hello Hydraulicslopedigitaltwin::" << std::endl;}connect原创 2022-04-10 11:22:20 · 7692 阅读 · 0 评论 -
QJson
Qt的json库#include <QtCore/QCoreApplication>#include <qjsondocument>#include <qjsonobject>#include <qjsonarray>#include <qdebug>#include <qfile>#include <QJsonParseError>bool writeJson(){ QJsonParseErr原创 2022-03-28 13:49:52 · 791 阅读 · 0 评论 -
QT代码设置centralWidget的布局
前序文章QT控件的显示默认情况下,centralWidget对象是没有关联布局的,使用layout接口会获得一个空对象。下面来设置centralWidget对象的布局:int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget w; w.setWindowTitle("Hello QT!"); w.setLayout(new QHBoxLayout(&w)); w原创 2022-03-04 11:02:05 · 2256 阅读 · 0 评论 -
QT控件的显示
QT控件,比如按钮控件QPushButton只需要new出来,挂到this主窗口,就会显示。验证:新建一个QWidget应用MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ //在主窗体显示一个按钮 QPushButton* fullScreenButton = new QPushButton(tr("FullScreen"), t原创 2022-03-04 10:24:50 · 1455 阅读 · 0 评论 -
QT Designer设置centralWidget的布局
双击.ui文件,用QT Designer打开该文件。在“对象查看器”中选中“centralWidget”对象,此时选择菜单“窗体”,再在“窗体”子菜单中选择一种布局(比如,水平布局)即可。此时centralWidget的内容就会随着主窗口的大小变化而变化了。...原创 2022-03-02 21:09:52 · 4487 阅读 · 0 评论 -
Qt窗口大小测量器屏幕分辨率测量
该程序可以方便的测量窗口的高度和宽度,包括屏幕的宽度和高度,也就是屏幕分辨率。效果如下1920*1200分辨率的屏幕大小测量结果源码.h头文件#pragma once#include <QPainter>#include <QColor>#include <QString>#include <QKeyEvent>#include <QtWidgets/QMainWindow>#include <i..原创 2021-11-02 17:26:28 · 799 阅读 · 0 评论 -
QColor绘制渐变线段
QColor官方介绍原创 2021-11-02 11:20:17 · 629 阅读 · 0 评论 -
QT画线段
重写paintEvent函数即可。1 头文件添加paintEvent#pragma once#include <QtWidgets/QMainWindow>#include "ui_DrawNV12ToRGBOnWindow.h"class DrawNV12ToRGBOnWindow : public QMainWindow{ Q_OBJECTpublic: DrawNV12ToRGBOnWindow(QWidget *parent = Q_NULLPT原创 2021-09-07 18:45:41 · 1157 阅读 · 0 评论 -
QtCreator使用
跳转到定义 Ctrl+鼠标单击 或者 F2 后退(即跳回来) Alt + ← \leftarrow← 前进 Alt + → \rightarrow→原创 2021-03-22 09:40:28 · 232 阅读 · 0 评论 -
Linux run 安装 Qt
https://www.jianshu.com/p/7dad1a4483bd原创 2021-03-08 15:17:19 · 399 阅读 · 0 评论 -
SimpleQtLogger
在QT中使用滚动写文件日志,只需要这个库。这个库只需要一个cpp,一个.h,总共俩文件搞定。SimpleQtLoggerhttps://github.com/Mokolea/SimpleQtLogger包含文件之后,初始化直接使用: //log begin simpleqtlogger::SimpleQtLogger::createInstance(&a); simpleqtlogger::SimpleQtLogger::getInstance()->原创 2021-03-05 11:38:43 · 443 阅读 · 0 评论 -
QTranslator的使用
QTranslator的使用QTranslator类就是使用Qt的翻译文件,可以对界面中菜单栏、label、对话框等进行翻译。使用的前提是,开发者要自己创建翻译文件。一.创建翻译文件1.在*.pro中添加:TRANSLATIONS += *.ts,有多少种语言添加多少个文件。2.之后运行lupdate *.pro生成ts文件。lupdate会根据源代码中的内容提取出待翻译的字段,然后生成ts文件,该文件时xml格式的3.使用qt linguist打开ts文件,并翻译相应字段;4.运行lr原创 2021-02-24 16:08:36 · 2147 阅读 · 0 评论 -
利用qt对数据库进行操作
https://blog.csdn.net/y____xiang/article/details/80412247原创 2020-11-21 22:46:58 · 242 阅读 · 0 评论 -
this application failed to start because no qt platform plugin could be initialized
这个是QT程序在打包放到目标操作系统中运行的时候缺少dll,去要在exe同目录创建一个目录:platforms/qwindows.dll原创 2020-03-13 22:46:30 · 3445 阅读 · 0 评论 -
Qt学习之.pro和.qrc创建及介绍(Visual Studio中)
详细参考:Qt学习之.pro和.qrc创建及介绍用这个步骤(Qt窗口(VS中创建步骤))创建的QT类包含UI文件,但是没有qrc文件,qrc文件需要直接创建。qrc文件可以被对公UI引用共享。当你在一个UI文件里添加资源的时候可以浏览其他当前工程中的qrc资源文件。所以一个工程一个qrc文件就可以了。...原创 2020-02-18 12:35:47 · 1465 阅读 · 0 评论 -
Qt窗口(VS中创建步骤)
在VS中利用QtVStoos这个工具,我们可以非常方便的创建QT的资源和代码,就像在QtCreator里一样。创建一个带窗口界面的类(.ui及其配套的class .h .cpp UI_.h UI_.cpp)是很常见的。比如登录框,对话框,等等。操作步骤如下:1在项目上右键菜单》添加》AddQtClass2选择QtGUIClass3重命名点击Ad...原创 2020-02-18 09:27:34 · 4494 阅读 · 3 评论 -
Qt绘制文本 QPainter drawText
https://blog.csdn.net/naibozhuan3744/article/details/79068528原创 2020-02-16 12:13:01 · 2255 阅读 · 2 评论 -
Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法
QT文章列表我的文档QString location = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);桌面QString location = QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);Qt ...原创 2020-01-07 21:13:45 · 375 阅读 · 0 评论 -
Qt捕获全部事件
QT文章列表Qt 利用notify函数捕获全部事件下面的代码可以不过所有事件,并打印详情,对于界面UI功能调试是非常有用的。#include <QMouseEvent>#include <QDebug>class MyApplication : public QApplication{public: MyApplication(int argc, c...原创 2019-12-02 14:00:02 · 1729 阅读 · 0 评论 -
Qt拖拽
QT文章列表 控件启用拖拽功能MyTreeView::MyTreeView(QWidget *parent) :QTreeView(parent){ //启用拖放 this->setDragEnabled(true); //设置拖放 this->setAcceptDrops(true); //设置拖放模式为移动项目,否则为复制项目 this->setDr...原创 2019-12-01 17:16:12 · 555 阅读 · 0 评论 -
Qt自定义控件派生控件
QT文章列表 我们用QT设计器拖拽了一个控件之后,想定制这个控件,最好的办法就是派生这个控件类。具体步骤:1 添加类,指定基类为我们设计器里拖拽的控件类;2 修改UI文件中控件类型为我们自定义的类即可。...原创 2019-12-01 10:45:05 · 638 阅读 · 0 评论 -
QTreeView
QT文章列表QTreeView使用总结 -- 选中信号处理原创 2019-12-01 10:24:27 · 377 阅读 · 0 评论 -
QSpinBox
QT文章列表控件基本属性Qt QSpinBox使用详解valueChanged事件绑定 Qt之QSpinBox和QDoubleSpinBox原创 2019-11-18 14:31:06 · 611 阅读 · 0 评论 -
QT添加右键菜单
QT文章列表QT添加右键菜单有多重形式,下面说明其中的一种:Qt::DefaultContextMenu1 设置QWidget的派生类的菜单策略为:Qt::DefaultContextMenua 使用Qt设计器设置:b 或者使用代码设置: this->setContextMenuPolicy(Qt::DefaultContextMenu);2 重载事件响应函数...原创 2019-10-21 15:43:08 · 407 阅读 · 0 评论 -
QT汉语拼音搜索
QT文章列表调用示例代码 std::list<QString> listText; listText.push_back(QString::fromLocal8Bit("贵州茅台")); listText.push_back(QString::fromLocal8Bit("中证500")); listText.push_back(QString::from...原创 2019-10-15 22:22:48 · 1742 阅读 · 3 评论 -
QDialog 对话框
QT文章列表 使用方式如下#include <QDialog>class MYWnd : public QDialog{ Q_OBJECT}//创建对象弹出对话框MYWnd myMYWnd;myMYWnd.exec();调用exec方法自动进入模态对话框。添加最大化按钮QDialog默认只有“这是什么”以及“关闭按钮”。添加方法如下: ...原创 2019-10-12 16:37:20 · 352 阅读 · 0 评论 -
QT文章列表
Qt获取程序路径用户路径等QT汉语拼音搜索控件QSpinBoxQTreeViewQDialog 对话框QMessageBox如何禁用QComboBox的滚动功能 不让QComboBox响应鼠标滚动QGridLayout添加、删除、交换、复制、WidgetQt自定义控件派生控件13 QT翻译文件12 QT样式表11 QWebEngine交互Q......原创 2019-06-07 18:14:02 · 1460 阅读 · 0 评论 -
如何禁用QComboBox的滚动功能 不让QComboBox响应鼠标滚动
很多人都说要派生,派生太麻烦了。也有人说设置focusPolicy,这个没用。我现在给一个方法,超级简单:覆盖QComboBox的QComboBox::wheelEvent方法在任何你要用到QComboBox的代码之前,加上下面这句话就OKvoid QComboBox::wheelEvent(QWheelEvent *e){ //啥也不干,屏蔽鼠标滚动}还有比这个更简单...原创 2019-05-22 12:39:41 · 10386 阅读 · 11 评论 -
QT日志使用
先实现一个日志函数// 日志std::fstream g_logFile;void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg){ static QMutex mutex; mutex.lock(); QString currentDa...原创 2019-05-09 16:15:22 · 517 阅读 · 0 评论 -
QT拖动窗口实现
具体实现步骤首先是目标窗口目标窗口TargetWidget需要接受拖动事件,在构造函数中设置 this->setAcceptDrops(true);//支持拖动操作实现拖动进入和放下两个函数void SliceBrowseWindow::dragEnterEvent(QDragEnterEvent *event){ //这句话让该窗口可以捕捉到dropEv...原创 2019-04-30 13:14:02 · 1780 阅读 · 0 评论 -
QGridLayout添加、删除、交换、复制、Widget
addWidgetQGridLayout中添加Widget最好统一使用带有行列值的addWidget版本,比如初始化时添加各个Widget: KLineWidget* widget = new KLineWidget(50); ui.gridLayout->addWidget(widget, 0, 0); KLineWidget* widget2 = new KLineWidg...原创 2019-04-28 11:20:59 · 9637 阅读 · 4 评论 -
4 炒股笔记3.0 QT界面实现
请最大化看,不然CSDN的预览会自动缩放失真!原创 2019-04-27 00:02:01 · 1937 阅读 · 0 评论