Qt
与Qt相关
fyzy
这个作者很懒,什么都没留下…
展开
-
qt一个控件放在另外一个控件或窗体的前面或者后面
3.有些时候可能使用的是QGraphicsView,此时需要实现下图效果,可以通过右键窗体放到后面或者前面,内部写代码在窗体缩放时,实现控制窗体显示的具体位置。1.通过stackOver和stackUnder去控制。2.通过raise()和lower()函数实现。原创 2024-08-15 09:05:12 · 240 阅读 · 0 评论 -
python调用qt编写的dll
报错:FileNotFoundError: Could not find module 'F:\pythonProject\MINGW\sgp4Lib.dll' (or one of its dependencies). Try using the full path with constructor syntax.结果可能很大 ,可以试着删掉一些不需要的,删了,不影响正常调用dll,就是可以删掉的。1、如果是使用了qt库的,必须将所有依赖项拷贝到Python工程中。原创 2024-07-08 16:45:19 · 325 阅读 · 0 评论 -
qt检测网线短线
在进行TCP通信开发的时候,拔了网线,不能触发相应槽函数。查看客户端的状态依旧是连接的,导致系统某些功能异常。通过一下方式可以判断网络的在线和离线状态。原创 2023-11-10 10:19:52 · 211 阅读 · 1 评论 -
qt debug模式正常 release模式崩溃
这样之后,会在debug模式,如果检测到函数没有返回值,编译器会报错。可以快速查找是哪个地方没有返回值。然后对没有返回值的函数进行修改即可。很多情况下都是没有返回值造成的,下面说说如何解决。原创 2023-07-14 16:12:04 · 1723 阅读 · 0 评论 -
关于qt加载qss 图片相对路径问题
编写QSS文件建议使用VSCODE软件,会有提示信息(如:文件路径自动补全,颜色等)。如果使用资源的话:url(:/image/logo.png);如果使用相对路径:url(image/logo.png);建议qss文件和image文件夹 放在exe同级目录。1.qss文件是相对.exe的路径。原创 2023-06-09 11:08:29 · 1919 阅读 · 0 评论 -
qt设置tooltip后 窗体的背景色改变了
/保持设置qss的背景色。原创 2023-05-26 09:36:02 · 357 阅读 · 0 评论 -
qt 写入日志文件
Qt中第三方日志库log4cplus的基本配置和使用详解_log4cplus配置文件详解_wendy_ya的博客-CSDN博客Qt中第三方日志库QsLog的基本配置和使用详解_wendy_ya的博客-CSDN博客GitHub - SergiusTheBest/plog: Portable, simple and extensible C++ logging libraryC/C++ plog日志简单用法_cpp_learners的博客-CSDN博客原创 2023-04-14 16:06:14 · 670 阅读 · 1 评论 -
Qt 信号槽 找不到信号
2.只在windows上出现,在Linux和mac不会出现。是因为在把工程编为dll时才会出现的问题。注意:导出dll时需要。1.信号的名字写错了。原创 2023-04-14 14:28:53 · 1285 阅读 · 1 评论 -
QHash/QMap的key/value有指针时的内存释放
QMap,QHash原创 2023-02-10 20:46:49 · 1746 阅读 · 0 评论 -
Qt编译报某某文件修改时间大于当前时间
某某文件修改时间大于当前时间原创 2022-12-28 17:10:14 · 762 阅读 · 0 评论 -
QComboBox不常用的方法
1.判断菜单列表是否显示combobox->view()->isVisable();2.设置选中哪一项combobox->view()->selectionModel()->setCurrentIndex(combobox->model()->index(row,combobox->modelColumn(),combobox->rootModelIndex()),QItemSelectionModel::ClearAndSelect);原创 2022-11-17 23:51:16 · 229 阅读 · 0 评论 -
Qt不能获取键盘方向键焦点问题
构造函数里增加this->grabKeyBoard();获取当前焦点在哪个widget上:QApplication::focusWidget();原创 2022-11-14 17:49:54 · 619 阅读 · 0 评论 -
qt pro文件配置拷贝目录
//如果icons目录不存在,则拷贝该目录exists($$DESTDIR/icons/){}else{copyConfigFiles.commands=cp -r $$PWD/../../Doc/icons/ $$DESTDIR/QMAKE_EXTRA_TARGETS += copyConfigFilesPOST_TARGETDEPS += copyConfigFiles}原创 2022-03-30 15:39:48 · 1415 阅读 · 0 评论 -
QFtp乱码
1.正常编码转换为QFTP上所谓的乱码FromSpecialEncoding(const QString &InputStr){#ifdef Q_OS_WIN return QString::fromLocal8Bit(InputStr.toLatin1());#else QTextCodec *codec = QTextCodec::codecForName("gbk"); if (codec) { return codec->t原创 2022-03-08 20:46:50 · 470 阅读 · 0 评论 -
Linux环境下QFtp的环境搭建(编译)
1.从 GitHub 下载 QFtp:https://github.com/qt/qtftp2. 编译修改 qftp/src/qftp/qftp.h中"#include<QtFtp/qurlinfo.h>"为"#include<qurlinfo.h>"修改 qftp/src/qftp/qftp.pro中第四五行的+-互换修改 第四行为CONFIG+=staticlib执行qmake 编译即可3.在Qt安装目录下放入相应文件将编译后的libQt.原创 2022-03-07 17:04:14 · 1082 阅读 · 1 评论 -
C++ Qt 两字节相加(和)的校验位
/**********************************************************函数名称:checkSum函数功能:校验位 帧头+数据段按2字节累加和(若数据段个数为奇数,则累加和时在数据段后方补1个字节0x00)函数参数:QByteArray 帧头+数据段的数据 highBit-校验位的高位 lowBit-校验位的低位 cmdHeaderStr-校验位前面的数据函数返回值:QByteArray 校验位**************************..原创 2022-02-19 15:10:58 · 3158 阅读 · 0 评论 -
Qt linux下 Protobuf的使用
1.linux下使用指令下载protobuf;2.编译*.proto文件3.将编译后的h和cc文件引入项目中4.pro文件中加入这一句LIBS += -L/usr/lib/x86_64-linux-gnu/ -lprotobuf注意:库的路径5.根据proto文件,可以直接使用。如:SignalParam sp;sp.set_band_width(100); ...原创 2022-01-25 14:31:52 · 1053 阅读 · 0 评论 -
Qt报表框架
NCReportNCReport 是一个功能强大、快速、跨平台且易于使用的报表引擎库、报表生成器、报表设计器、报表编写器、报表工具、文档打印系统,用 C++ 编写并基于 Qt toolkit。该软件的主要功能是使用 XML 报表模板从数据源直接打印,预览或生成 PDF、PS、SVG、IMAGE 和 TEXT 输出文件。主页:https://ncreportsoftware.comCuteReportCuteReport 是一个基于 Qt 框架的简单、强大且可扩展的报表解决方案。通常,Cut转载 2021-08-25 12:18:57 · 1456 阅读 · 0 评论 -
Qt creator +Valgrind检测内存泄漏(linux)
一、说明由于Qt creator和valgrind是相互独立的,所以首先需要安装valgrind后,qt才能使用该功能进行内存检测分析。二、安装valgrind1、使用命令行安装sudo apt-get install valgrind2、源代码下载安装下载最新版本:http://valgrind.org/downloads/current.html#current安装命令:tar -jxvf valgrind-3.15.0.tar.bz2.tar.bz2cd valgr原创 2021-08-24 21:07:31 · 2685 阅读 · 1 评论 -
Qt Creator +Vld检测程序内存泄漏
Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具。一、下载、安装1.下载 下载1:http://vld.codeplex.com/releases/view/619330 下载2:vld-2.5.1版(直接下载2.5.1版)2.安装:一直next即可。需要注意的是这几个框都要选上,这样就可以自动配置环境变量以及VS的相关配置,无需手动配置了。二、配置注意1.VLD 内存检测工具,只能检测使用VC++...原创 2021-08-24 20:44:06 · 607 阅读 · 0 评论 -
QT 事件过滤器 滚轮事件
1、首先要在构造函数中注册监听```cpp this->installEventFilter(this);//注册监视对象2、一旦event Filter注册了, 事件在被发送到原来的目的地之前, 会先发到这个类的eventFilter()函数.下面是eventFilter函数```cppbool XX::eventFilter(QObject *obj, QEvent *e){ if (e->type() == QEvent::Wheel)//滚轮事件转载 2021-08-07 19:10:23 · 1131 阅读 · 0 评论 -
Qt linux win杀死进程
核心代码: QString exeFilePath = QCoreApplication::applicationFilePath(); //获取exe的完全路径 QString exeFileName = QFileInfo(exeFilePath).fileName(); //获取exe的名称 qDebug()<<" exeFileName "<<exeFileName; QProcess p;#ifdef Q_OS_WIN QSt.原创 2021-07-07 16:58:45 · 264 阅读 · 0 评论 -
Qt文件复制带进度条
源文件#pragma execution_character_set("utf-8")#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this);}MainWindow::~MainWindow(){原创 2021-07-07 09:32:17 · 1076 阅读 · 1 评论 -
QLabel文字从下至上显示
思路:继承QLabel,重新绘制。代码:h文件#ifndef VLABEL_H#define VLABEL_H#include<QPainter>#include<QLabel>#include<QDebug>class vLabel : public QLabel{ Q_OBJECTpublic: explicit vLabel(QWidget* parent = NULL); virtual ~vLabel(原创 2021-06-09 15:09:06 · 791 阅读 · 0 评论 -
Qt加载字体
1.查询系统支持的字体QFontDatabase database;foreach (const QString &family, database.families()) { qDebug()<<family;}2.设置全局字体font内容为family查询到的字体名称QFont font("family");QApplication::setFont(font);3.外部加载字体字体支持ttc或ttf格式加载;使用addApplic原创 2021-03-25 15:49:05 · 3007 阅读 · 0 评论 -
Qt 设置widget背景
setAutoFillBackground(true); setBackgroundRole(QPalette::Base); QPalette pal = palette(); pal.setBrush(QPalette::Base, QPixmap(":/icons/background.png")); pal.setColor(QPalette::HighlightedText, Qt::red); setPalette(pal);原创 2021-03-25 15:09:34 · 414 阅读 · 0 评论 -
Qt撤销、恢复
QUndoStackQUndoStack类是QUndoCommand对象的堆栈。撤销堆栈维护已应用于文档的命令堆栈。使用push()将新命令推送到堆栈上。命令可以使用undo()和redo()来撤销和重做,或者触发createUndoAction()和createRedoAction()返回的操作。QUndoStack跟踪当前命令。这是将在下一次调用redo()时执行的命令。该命令的索引由index()返回。可以使用setIndex()前滚或回滚已编辑对象的状态。如果堆栈上最上面的命令已经被原创 2021-03-24 11:35:25 · 2293 阅读 · 1 评论 -
QCompleter类的使用
QCompleter类提供基于项目模型的补全。你可以使用QCompleter在任何Qt部件中提供自动补全,如QLineEdit和QComboBox。当用户开始输入一个单词时,QCompleter会根据单词列表建议完成这个单词的可能方法。单词列表作为QAbstractItemModel提供。(对于单词列表是静态的简单应用程序,可以将QStringList传递给QCompleter的构造函数。)例子1: QStringList wordList; wordList << "alph原创 2021-03-24 10:51:12 · 882 阅读 · 0 评论 -
QGraphicView介绍1
原文地址:https://blog.csdn.net/bpv_kiki/article/details/89317141一、GraphicsView框架简介QT4.2开始引入了Graphics View框架用来取代QT3中的Canvas模块,并作出了改进,Graphics View框架实现了模型-视图结构的图形管理,能对大量图元进行管理,支持碰撞检测,坐标变换和图元组等多种方便的功能。GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景)、QGraphicsVie转载 2021-03-06 11:07:00 · 807 阅读 · 0 评论 -
Qt插件开发
使用插件开发都是为了扩展应用程序的功能。Qt扩展应用程序要想使用插件来扩展应用程序,那么首先在主程序中的步骤如下: 定义一组用于与插件通信的接口(只有纯虚函数的类) 使用 Q_DECLARE_INTERFACE() 宏来告诉 Qt 元对象系统有关接口的情况 在应用程序中使用 QPluginLoader 加载插件 使用 qobject_cast() 来测试插件是否实现了指定的接口编写扩展 Qt 应用程序的插件,步骤如下: 声明一个继承自 QObject ...原创 2021-03-03 14:35:01 · 2807 阅读 · 2 评论 -
Qt反射机制三 获取与类相关的信息
1、QMetaObject 类中获取与类相关的信息的成员函数有 const char* className() const;获取类的名称,注意,若某个QObject 的子类未启动元对象系统(即未使用Q_OBJECT宏),则该函数将获取与该类最接近的启动了元对象系统的父类的名称,而不再返回该类的名称,因此建议所有的QObject 子类都使用Q_OBJECT 宏。 const QMetaObject* superClass() const;//返回父类的元对象,若没有这样的对象则返回0。 b原创 2021-02-24 16:38:39 · 756 阅读 · 0 评论 -
Qt反射机制二 获取类对象的成员函数的信息
1、QMetaMethon 类①、作用:用于描述对象的成员函数,可使用该类的成员函数获取对象成员函数的信息。②、该类拥有如下成员: enum MethodType{Method, Signal, Slot, Constructor}此枚举用于描述函数的类型,即:普通成员函数(Method)、信号(Signal)、槽(Slot)、构造函数(Constructor)。 enum Access{Private, Protected, Public}此枚举主要用于描述函数的访问级别(私有的、受保护原创 2021-02-24 16:36:32 · 1323 阅读 · 0 评论 -
Qt拖放一
本文简要介绍Qt的拖放实现,实现拖放功能,主要有4个函数:dragEnterEvent(QDragEnterEvent *event),dropEvent(QDropEvent *event),dragLeaveEvent(QDragLeaveEvent *event),dragMoveEvent(QDragMoveEvent *event)。主要使用到:dragEnterEvent(QDragEnterEvent *event),dropEvent(QDropEvent *event)这2个函数。原创 2021-02-19 10:40:07 · 212 阅读 · 0 评论 -
Qt 多语言切换
本文通过Qt语言家实现中英文语言的切换。1.pro文件中增加如下内容2.编辑好界面,3.生成.ts翻译文件,ts文件其实就是xml格式的文件4.通过Qt语言家打开.ts文件,编辑。修改.ts文件后需要发布翻译文件,生成.qm文件后才能被程序使用方法1:工具-》外部工具-》Qt预言家-》发布 方法2:用QtLinguist打开.ts文件,文件->发布5.添加.qm文件到资源文件中6.核心代码:#include "mainwindow.h"#include原创 2021-02-18 15:14:48 · 836 阅读 · 0 评论 -
qobject_cast<>()应用
代码如下:#include "QtLanguage.h"#include "ui_QtLanguage.h"#include <QTranslator>#include <QRadioButton>Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this); ui->radioButton->set.原创 2021-02-18 11:21:08 · 4885 阅读 · 1 评论 -
VS Qt联合开发示例1
1.VS Qt中如何使用信号槽①在头文件中定义槽函数,如下:private slots: void testBtnClicked();②在.ui 文件中拖入控件,点击F3快捷键,或者点击如下图标,编辑信号槽。③点击“test”按钮,可以实现对信号和槽的编辑。④更改标红出为testBtnClicked(),与头文件定义的槽函数名字一致。⑤在.cpp文件中实现槽函数void frmMain::testBtnClicked(){ QMessageBox *m原创 2021-02-06 20:24:51 · 858 阅读 · 0 评论 -
Qt对话框与窗口的关闭和隐藏
1、为方便讲解,本文对以下概念作一区别 删除:是指窗口被销毁,也就是说窗口不存在了。比如窗口使用new创建的,则表示窗口被delete了,被销毁的窗口不能被再次使用,否则会发生内存错误。 隐藏:是指窗口不可见,但窗口并未被销毁,使用show()等函数,可以让该窗口再次可见。 关闭:是指窗口不可见,但窗口有可能是被删除了,也有可能是被隐藏了,这要视情况而定。 窗口被删除时,会同时删除其子对象,而隐藏则不会。2、关闭窗口与终止程序一个(应用)程序通常拥有多个窗口,关闭(或删除)一个窗口,并不转载 2021-02-06 19:19:55 · 13661 阅读 · 0 评论 -
QSequentialAnimationGroup和QParallelAnimationGroup
QSequentialAnimationGroup:串行动画组,按照添加的先后顺序,动画依次执行。QParallelAnimationGroup:并行动画组,不区分先后顺序,动画同时执行。主要是控制六个Button的动画,三个为一组。核心代码:#include "mainwindow.h"#include "ui_mainwindow.h"#include <QPropertyAnimation>#include <QParallelAnimationGro.原创 2021-02-06 17:05:39 · 298 阅读 · 1 评论 -
Qt重定向
在我们使用软件时大多使用release版本,这样在使用过程中的调试信息就不会显示出来,为了将调试信息打印在界面上或者放在文件中保存起来我们就可以使用重定向的技术。在QT的帮助文档:qInstallMessageHandler中我们可以看到重定向的简单例子。1.将调试信息重定向到QtCreator的应用输出。 #include <qapplication.h> #include <stdio.h> #include <stdlib.h> voi.原创 2021-02-06 15:27:20 · 771 阅读 · 0 评论 -
Qt动画☞QPropertyAnimation
概述QPropertyAnimation类定义了Qt的属性动画,主要是通过属性来控制动画的。QPropertyAnimation以Qt属性做差值,作为属性值存储在QVariants中,该类继承自QVariantAnimation,并支持基类相同的元类型动画。声明属性的类必须是一个QObject,为了能够让属性可以用做动画效果,必须提供一个setter(这样,QPropertyAnimation才可以设置属性的值)实现步骤1.创建QPropertyAnimation对象。2.动画对象绑原创 2021-02-05 20:53:16 · 607 阅读 · 0 评论