QT
青鸟青史
这个作者很懒,什么都没留下…
展开
-
设置QDockWidget的优先级,让每个dock在停靠的时候表现不同的效果
QDockWidget显示的优先级原创 2022-12-09 22:40:12 · 256 阅读 · 0 评论 -
Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup!
打包原创 2022-11-26 17:19:18 · 1602 阅读 · 0 评论 -
Qt:出现错误 QWindowsWindow::setGeometry: Unable to set geometry 401x48+759+477 on QWidgetWindow/‘Message
QWindowsWindow::setGeometry: Unable to set geometry原创 2022-11-02 10:49:08 · 554 阅读 · 0 评论 -
Qt 使用状态机改变自定义枚举变量得值
当状态机改变时,改变自身的自定义枚举变量的值;点击按钮,状态切换,自身的枚举的变量也根据状态机改变.h#ifndef TESTPAGE_H#define TESTPAGE_H#include <QWidget>namespace Ui {class testPage;}class QStateMachine;class testPage : public QWidget{ Q_OBJECT Q_PROPERTY(testPage::TestEnum原创 2022-04-25 19:02:37 · 505 阅读 · 0 评论 -
使用QT 做一个类似VSCode的标题栏,自定义标题栏
目的,做一个如图的标题栏:最终实现的效果图:widget.cpp#include "widget.h"#include "ui_widget.h"#include <QMouseEvent>Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) ,mouse_press(false){ ui->setupUi(this); setWindowF原创 2022-04-13 23:27:29 · 728 阅读 · 2 评论 -
Q_PROPERTY 自定义属性不生效
发现一个问题,当自定义属性的类,不加Q_OBJECT,那么此类的自定义属性,不能被外界更改使用class COnlyPushNormalBtn : public QPushButton{ Q_OBJECT //发现必须要加这个宏 Q_PROPERTY(bool isJogMode READ getIsJogMode WRITE setIsJogMode DESIGNABLE true) Q_PROPERTY(bool fixMoveChecked READ getFixMoveC原创 2022-03-24 23:27:44 · 711 阅读 · 0 评论 -
QSqlTableModel 只显示特定几列
List item方法一使用QTableView的API函数,直接隐藏几列的显示 xSQLiteTableModel = new QSqlTableModel(this); ... ... ui->xTableView->hideColumn(0);//把第一列和第二列隐藏 ui->xTableView->hideColumn(1);方法二继承自QSqlTableModel,重写virtual QString selectStatemen.原创 2022-03-14 16:02:01 · 2058 阅读 · 0 评论 -
qt 设置应用程序的软件图标
效果如图:1.制作图标资源使用网上的在线图标制作工具,把PNG转成了ico文件(貌似必须要这个格式才行)链接:工具2.把资源文件放在项目的.pro同级位置3.在项目的.pro文件中加入一行代码RC_ICONS = mainicon.ico最好在重新编译一下,大功告成...原创 2022-01-05 22:56:08 · 482 阅读 · 0 评论 -
QPushButton setCheckable(true)后,只能点击按下,不能点击弹起,解决方案
通过网上一顿找:两种解决方案:一.通过Qt的文档找到的方法:继承QPushButton添加bool属性m_isAutoChecked,用于区分按钮对象是常规checkable按钮还是需要用户自定义check行为的按钮重写nextCheckState方法: void MyButton::nextCheckState() { if (m_isAutoChecked && isCheckable()) { setChecked(!isChecked()); } }但是我不会啊,,难过原创 2021-11-19 22:16:30 · 4490 阅读 · 0 评论 -
qt connect的用法
//PwdDialog 的自定义信号signals: void verifyResult(bool success);//**************************************************.cpp PwdDialog *mPwdDialog = new PwdDialog(this); connect(mPwdDialog,&PwdDialog::verifyResult,[=](bool res){ if(res){原创 2021-09-13 17:48:06 · 167 阅读 · 0 评论 -
qt 消息弹出框 ,无框,缓慢自动消失
思路:弹出一个无边框窗体,再添加一个QLabel显示消息,使用了两个定时器,控制显示消失效果:主窗体调用:void MainWindow::on_pushButton_clicked(){ MessageTips *mMessageTips = new MessageTips("网络连接失败,正在重新连接中 . . .",this); mMessageTips->show();}把这个弹出框封装成一个类,可以直接调用:messagetips.cpp#include原创 2021-08-27 11:38:09 · 4086 阅读 · 5 评论 -
QPushButton 点击弹出一个新窗口,跟随按钮位置弹出
当主窗口移动后,在任意位置点击文件按钮,此红色区域弹窗,都可以跟随弹出位置,保持弹窗和按钮位置平齐 QPushButton*btn=new QPushButton(this); connect(btn, &QPushButton::clicked, this, [=](){ FileMenu *widget=new FileMenu( mapToParent(QPoint(dfd->pos().rx(),dfd->pos().ry()+dfd->h.原创 2021-08-19 17:44:08 · 896 阅读 · 0 评论 -
qt mkpath 创建文件夹时,创建一个文件夹,出现多余的子文件夹
原始错误代码:bool isDirExist(QString fullPath,bool autoCreate){ QDir dir(fullPath); if(dir.exists()){ return true; } if(autoCreate){ bool res = dir.mkpath(fullPath);//mkpath能创建多级目录 return res; } return false;}效果原创 2021-08-12 11:12:03 · 932 阅读 · 0 评论 -
qt 当前exe的路径
qDebug()<<"appllicationDirPath"<<QApplication::applicationFilePath();//.exe文件路径 qDebug()<<"applicationDirPath"<<QApplication::applicationDirPath();//.exe文件所在的文件夹路径原创 2021-08-10 20:51:50 · 540 阅读 · 0 评论 -
qt 打包 压缩成一个.exe安装包
主要参考:Qt程序的发布和打包 ——爱编程的大丙!第一步 ,把编译生成的.exe文件拷贝到一个新的文件夹第二步,根据自己编译时的编译器,确定是MSVC还是MinGW编译器,是32位还是64位例:我qt使用MSVC2015 32位,编译的软件,则,我选择这个下面的命令行位数不要选错了,不然可能发生错误第四步,输入打包指令windeployqt.exe一般来说,打包程序执行结束,就成功了。但是可能还没完,例,如果你的项目使用了外部库,你还需要手动把他拷贝到打包文件夹的根目录下如果原创 2021-08-08 16:10:25 · 370 阅读 · 0 评论 -
qt各版本安装包,能安装那些编译器
原创 2021-08-06 15:09:42 · 407 阅读 · 0 评论 -
qt error: C2491: ‘ ::staticMetaObject‘: definition of dllimport static data member not all
场景: Qt 5.14.0 +MSVC2015 32位 ,使用qt导入外部库的时候,发现出现以下问题error: C2491: ’ ::staticMetaObject’: definition of dllimport static data member not all后面导入库时,把原先的动态改为静态就成功原创 2021-08-06 14:20:24 · 1046 阅读 · 0 评论 -
Microsoft 生成工具 2015 更新 3/Microsoft Visual C++ Build Tools 安装包丢失或损坏
场景:因为需要MSVC2015编译器,不想安装全部的VS2015,只想安装MSVC2015学习别人的博客:QT5.8.0+MSVC2015安装以及环境配置(不需要安装VS2015)遇到Microsoft 生成工具 2015 更新 3这个安装时说安装包丢失或损坏错误截图:解决办法学习别人的博客:Microsoft Visual C++ Build Tools.exe安装包损坏最终成功!正式开始安装安装成功...原创 2021-08-05 23:51:40 · 1568 阅读 · 3 评论 -
QT DockWidget 直接设置初始化高度
情景:dockwidget的高度初始化时,没有按照我设置的高度初始化,我又不想使用设置固定高度,这样以后才能使用时自己调节高度尝试过的办法:resize()函数, 不行,没效果setMinimumHeight() ,不能直接达到初始化效果最终,看其他人的办法最后实现,使用void QMainWindow::resizeDocks(const QList<QDockWidget *> &docks, const QList<int> &sizes, Qt::原创 2021-07-28 21:06:59 · 945 阅读 · 0 评论 -
qt 靠左侧的工具栏
效果: drawTool =new QToolBar(QStringLiteral("绘图工具栏"),this); addToolBar(Qt::LeftToolBarArea,drawTool); drawTool->setOrientation(Qt::Vertical);// drawTool->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea);//设置停靠区域 drawTool-&原创 2021-07-22 11:02:16 · 2891 阅读 · 4 评论 -
QT Qmenu 里面添加的ACtion,每点击一次QAction图标出现和消失一次
大概说标题所说,使用connect连接,下面是效果图点击一次编辑后,图标应该消失:下面是代码: QMenu *menu = new QMenu("tabShowMenu1", this); menu->setIcon(QIcon(":/icon/icon/inRangDataRemove.png")); QAction *act=menu->addAction(QIcon(":/icon/icon/Hook.png"),"test"); connect(a原创 2021-07-10 13:06:36 · 2165 阅读 · 0 评论 -
QT 侧边工具栏
在QT里面创建靠左侧的工具栏效果图:工具栏本身可以直接设置允许的显示区域,但是初始化显示都是在顶部,没办法直接显示在想要的位置当时想了很多办法,也在网上看了,包括在QDockWidget里面添加工具栏一样,都不是太好,最后看QT帮助手册,找到一个直接初始化指定位置的办法 QToolBar *fileTool =new QToolBar("wenjian"); addToolBar(Qt::LeftToolBarArea,fileTool);//关键,直接指定位置初始化 fil原创 2021-07-09 16:21:11 · 4370 阅读 · 0 评论 -
QT 多线程 TCP编程 ASSERT failure in QCoreApplication::sendEvent: “Cannot send events to objects 错误
这是另外一个UDP的例子,可以做参考:入口: mUDPThread=new UDPThread();//这里参数不要加this,继承至QObject,用于管理自己QUdpSocket的成员变量,QUdpSocket的变量在入口函数以后实例化,不能在此处直接把成员变量也在构造函数直接实例化 mUDPThread->setIPAndPORT(mUDPSendPORT,mUDPReceivePORT,mUDPIPStr);//把端口等信息传入到管理UDP的类内部 QThread*.原创 2021-07-03 10:30:20 · 4736 阅读 · 6 评论 -
QT:.DLL库的封装和调用
1.DLL库的封装1.1创建一个C++的库项目最终生成的项目结构:1.2这里随意添加一个功能函数,来进行验证使用!makedll.h:#ifndef MAKEDLL_H#define MAKEDLL_H#include "MakeDll_global.h"class MAKEDLL_EXPORT MakeDll{public: MakeDll(); void newFun();//新添加的功能函数};#endif // MAKEDLL_Hmakedl原创 2021-06-24 23:19:04 · 2155 阅读 · 0 评论 -
QTextCursor::setPosition: Position ‘ ‘ out of range
使用QT编写一个个性化消息输出框是发生:QTextCursor::setPosition: Position ‘40’ out of rangeQTextCursor::setPosition: Position ‘119’ out of rangeQTextCursor::setPosition: Position ‘171’ out of rangeQTextCursor::setPosition: Position ‘162’ out of rangeQTextCursor::setPos原创 2021-02-23 13:43:07 · 2170 阅读 · 0 评论