
QT
tobealv
这个作者很懒,什么都没留下…
展开
-
QtCreator在扩展屏里右键不弹出菜单问题
1、QtCreator.exe右键属性->兼容性->更改高DPI设置->勾选"替代高DPI缩放行为",缩放执行选择“系统(增强)”2、重启QtCreator。原创 2025-03-06 13:22:10 · 89 阅读 · 0 评论 -
Qt信号和槽记录
不要写为connect(&signalObj, SIGNAL(SignalClass::MySignal(QString)), this, SLOT(SlotClass::MySlot(QString))),如果写成这样会报no such signal错误。// 不能加const,QString和&之间不能留空格。原创 2024-10-18 15:46:44 · 304 阅读 · 0 评论 -
QStandardItemModel 插入数据导致产生多余列
在使用QStandardItemModel子类结合QTableView时,发现如果引用insertRow插入数据会导致列数扩张,引用setItem插入数据则不会有问题,该问题在ubuntu下发生,在windows下不发生。原创 2024-11-26 14:58:21 · 123 阅读 · 0 评论 -
QTableView调用setColumnWith无效
1、只要model的数据有改变(无论是添加还是修改),setColumnWith原先设置的宽度就失效,因此,如果是在初始化的时候,应当先加载model的数据,再调用setColumnWidth,如果是运行中的时候,则每次改变了model的数据,都要再调用一次setColumnWidth。原创 2024-12-10 11:49:01 · 192 阅读 · 0 评论 -
Qt QString 增、删、改、查、格式化等常用方法总结
Qt QString 增、删、改、查、格式化等常用方法总结_qstring 格式化-优快云博客原创 2024-09-28 15:14:03 · 165 阅读 · 0 评论 -
QTimer备忘
你可以把QTimer看作是一个能够产生定时事件的对象。当你启动一个QTimer时,你实际上是在告诉事件循环:“请在指定的时间后向我发送一个定时器超时事件(Timer Timeout Event)”。2、虽然是在当前线程中执行的,但即便把定时器的执行频率设置的非常高,也不会导致当前界面无响应,除非在定时器的处理函数中持续占CPU(例如sleep循环)。1、定时器是在当前线程中执行的,实际上,它处于当前线程的事件循环中,如果想定时器放在单独的线程中执行,可以借助于moveToThread实现。原创 2024-08-23 14:25:15 · 292 阅读 · 0 评论 -
QTableWidget调用SetRowHeight不起作用
去掉就行了,原因不明。原创 2024-07-01 19:09:03 · 330 阅读 · 0 评论 -
Qt使用lambda的坑
【代码】Qt使用lambda的坑。原创 2023-12-11 17:24:12 · 491 阅读 · 0 评论 -
设置QCheckBox样式
【代码】设置QCheckBox样式。原创 2023-12-06 19:38:04 · 976 阅读 · 0 评论 -
Qt关于输入法的备忘
(1)界面上的‘地球’按钮可以切换中/英文,但是默认编译出的只有英文,如果要编译中文,需要在工程属性的Build Steps为qmake增加CONFIG+="lang-en_GB lang-zh_CN"(但是我加上了,虽然‘地球’按钮有‘简体中文’选项了,但点击字母还是不出现汉字)。2、qtvirtualkeyboard源码在Qt源码根目录下,可以直接用QtCreator打开工程编译。(2)解决编译时GLES2/gl2.h找不到的问题,在pro文件中增加。原创 2023-03-23 17:07:53 · 472 阅读 · 0 评论 -
Qt setMouseTracking不起作用
在代码中调用setMouseTracking(true)不起作用,发现必须在ui部件属性里设置才起作用。原创 2023-05-16 15:36:35 · 304 阅读 · 0 评论 -
beginMoveRows/endMoveRows用法
【代码】beginMoveRows/endMoveRows用法。原创 2023-04-26 16:48:45 · 428 阅读 · 0 评论 -
Qt防止自动获取焦点
由于获取焦点会触发输入法弹窗,为了防止一些部件自动获取焦点时导致输入法弹出,可以设置部件的焦点获取方式为setFocusPolicy(Qt::ClickFocus);原创 2023-04-05 14:53:51 · 163 阅读 · 0 评论 -
QT 开发板显示GIF图片
需要移植libqgif.so,放在Qt的plugins/imageformats目录下。原创 2023-04-05 11:08:01 · 120 阅读 · 0 评论 -
QDialog 模态对话框与事件循环
QDialog 模态对话框与事件循环_dbzhang800的博客-优快云博客原创 2023-03-24 19:28:47 · 89 阅读 · 0 评论 -
Qt设计师如何添加QToolBar工具栏
在QtCreator设计师界面中,在MainWindow上右键,有“添加工具栏”菜单项,但。只有在MainWindow上右键才有,在其它控件上方点击则没有,那么怎么在对话框上添加呢?原创 2023-01-30 10:52:34 · 1206 阅读 · 0 评论 -
Qt坐标系统
setWindow并不是控制控件本身的显示,而是控制在其上的绘图行为的显示,它让你可以自由设定坐标,然后你的绘图代码函数里就可以按照你自己设定坐标相对值硬编码,比如上面坐标设置成了painter.setWindow(-50,-50,100,100);setViewPort设置视口的含义是什么的,我的理解是它让painter把图绘制在它指定的区域里,也就是它的参数指定的矩形,这个矩形是物理坐标表示的。并且在这里由于视口是用控件的物理高宽算的,这样即是控件缩放的时候,圆锥也能随着缩放。原创 2022-11-11 12:26:17 · 199 阅读 · 0 评论 -
Latin1、ISO-8859-1和中文表示
从本质上说,ISO-8859-1是单字节编码,自身不能显示中文,若要显示中文,必须和其他能显示中文的编码配合,如“GBK”,“UTF-8",以ISO-8859-1编码的文本,都以bytes[]的形式保存,若要显示中文,只需以显示平台的默认编码格式进行解码即可。若仍然以ISO-8859-1格式解码,得到的中文字符肯定是乱码,因为ISO-8859-1自身不能显示中文。latin1latin1又名ISO-8859-1,编码表如下:demo3一共256个字符!这就是传说中的单字节编码,.原创 2022-03-08 15:45:52 · 8580 阅读 · 0 评论 -
QListWidgetItem上附加widget
QListWidget在动态增加item的方式下,为item附加的widget可能会发生位置偏移。解决方法是关联一个委托,这个委托并不需要和附加widget有关系,只需要重载updateEditorGeometry函数即可。XItemDelegate.hXItemDelegate.cpp.........原创 2022-06-22 17:00:27 · 1951 阅读 · 0 评论 -
QListWidget中的内容不显示
QListWideget内容不显示原创 2022-06-22 14:34:48 · 1544 阅读 · 0 评论 -
QT的.Pro文件
1、帮助手册位置2、复制编译结果。原创 2022-05-04 17:53:37 · 1394 阅读 · 0 评论 -
Qt中的MIME
1、可以把mime数据看做是描述文件本身的数据,虽然一般我们是按照文件后缀名区分文件类型,但实际上操作系统是按照它预定义的支持的文件格式识别文件。mime类型大全:Shared MIME-info Database2、除了操作系统预定义的文件类型,我们还可以自己扩展,扩展名字一般application/x-开头,例如QT框架就为QAbstractItemModel扩展了application/x-qabstractitemmodeldatalist。...原创 2022-04-19 08:45:16 · 1486 阅读 · 0 评论 -
Qt Plugin笔记
1、QtPlugin的理念是App定义接口,Dll实现接口,因此接口定义源文件是在App这里。2、Dll没有导出类名这个说法,因为这些类App压根是看不见的,也就是说Dll并不是提供它内部的类名给App,App只是调用App自己定义的接口,只不过这些接口是由Dll内部类实现的,App通过QPluginLoader.instance()函数拿到了指向Dll提供的类对象的指针,这实际上就是导出类的对象指针(即接口的派生类的指针),但是对于App来说它无需关注这个派生类名,它只要按接口定义使用就行了。3、原创 2022-04-09 22:27:36 · 1030 阅读 · 0 评论 -
Qt使用动态库
三种方式:方式一、编译时就链接:必须在exe的pro文件中配置动态库的include和lib,而且这种方式要.dll(.so)和.lib(.a)都需要。方式二、动态加载:使用QLibrary,这种方式有个缺陷是它只能调用动态库的导出函数,而且必须是extern"c"的,调用不了类。方式三、动态加载:使用QPluginloader,这种方式最强大,可以调用动态库中类。...原创 2022-04-05 21:50:58 · 6177 阅读 · 0 评论 -
QtCreator 拖放控件后被隐藏
有时候,在UI里拖放控件时,控件会突然消失,但控件还在,此时只要把该文件关了再打开就可以再显示出来。原创 2022-03-08 15:48:56 · 779 阅读 · 0 评论 -
QProcess执行复合命令
使用QProcess执行由多个程序组成的复合命令,要借助sh,不是直接执行程序名。例:获取开机时间 QProcess proc; QStringList args; args << "-c" << "date -d \"$(awk -F. '{print $1}' /proc/uptime) second ago\" +\"%Y-%m-%d %H:%M:%S\""; proc.start("sh", args); if (proc.wa原创 2022-02-11 16:11:52 · 1086 阅读 · 0 评论 -
QTCreator环境变量空格问题
在Build Environment中添加环境变量时,变量路径最后不能带有空格,否则可能会造成生成的makefile里有关路径失效。原创 2022-01-27 13:39:37 · 357 阅读 · 0 评论 -
QMessageBox按钮中文
QMessageBox::warning(NULL, "标题", "提示信息", "确定");// 在QMessageBox的帮助文档中并没有这种用法说明,但通过这个方法却可以让按钮以中文显示原创 2021-11-15 16:05:17 · 451 阅读 · 0 评论 -
QSettings 出现%3D
QSettings settings;settings.setValue("key", "value");//正确settings.setValue("key=", "value");//错误,别画蛇添足加=,在文件中=会被转义为%3D原创 2021-11-15 15:16:07 · 449 阅读 · 0 评论 -
解决QTCreator调试时无法查看QString值的问题
取消勾选箭头所示选项即可:原创 2020-08-03 15:34:09 · 3851 阅读 · 1 评论 -
QtCreator添加多个工具栏
在看sqlitebrowser源码时发现存在多个工具栏,于是分析是如何添加上的。1、在QtCreator设计师界面中,在MainWindow上右键,有“添加工具栏”菜单项。(注意,一定要在MainWindow上右键,在其它控件上方点击则没有)。这样就可以添加多个工具栏了。2、把工具栏放到某个容器控件中,例如TabWidget或groupbox里。开始以为通过拖动就可以,但发现不行,看来QtCreator不具备这个功能。最后想了个办法,用其它文本编辑器打开.ui文件,剪切这个工具栏的相关内容到容器控件下。原创 2020-07-31 11:33:20 · 2003 阅读 · 0 评论 -
QT5.5应用程序图标、exe图标设置
QT5.5应用程序图标、exe图标设置 设置应用程序图标(png文件) 在已有的工程中添加一个.qrc文件。 新建文件–>QT–>资源文件,即可添加,这里我们命名为update.qrc。 添加前缀–>添加需要使用的图片。将图片放到源码目录下。保存一下项目,在pro文件中将自动将qrc文件添加进去。 添加前缀 添加文件 在主程序ui文件的修改属性windowsicon项。 这里写图片描述选择自己需要的png...转载 2020-05-29 16:07:55 · 3263 阅读 · 0 评论 -
Windows下用QtCreator编译sqlitebrowser
1. 首先注意,在windows下,sqlitebrowser依然依赖sqlite动态库,而且sqlite官网提供的编译好的二进制文件是用MSVC编译的。所以QtCreator安装时需要支持MSVC。2. 下载的sqlitebrowser-3.10.0.zip和sqlite-amalgamation-3260000.zip解压到同级目录下3. 用QtCreator打开sqliteb...原创 2019-11-12 16:48:11 · 561 阅读 · 0 评论 -
QTCreator创建及测试动态库
创建动态库:1. 在新建工程向导中选择"C++ Library",--> Shared library创建。以下以qtdll为示例名字。2.自动生成的Qtdll类就是导出类,其成员函数参数支持STL3.编译生成的so文件后面带着版本号,libqtdll.so.1.0.0测试动态库1.新建一个Qt Console Application工程2. 把libqtdll原创 2015-02-06 22:02:01 · 3533 阅读 · 0 评论 -
【Qt】正确判断文件、文件夹是否存在的方法
一直对Qt的isFile、isDir、exists这几个方法感到混乱,不知道到底用哪个,网上搜了下资料,也是用这几个方法但是都没有对其深究,经过测试发现会存在问题,先看看下面的测试代码[cpp] view plaincopy{ QFileInfo fi("C:/123"); // 目录存在 qDebug()转载 2015-02-10 16:21:52 · 1054 阅读 · 0 评论 -
qt的stylesheet中如何设置属性使背景图自动调整来适应控件的大小
A background-image does not scale with the size of the widget. To provide a "skin" or background that scales along with the widget size, one must use border-image. Since the border-image property prov原创 2015-04-11 14:15:34 · 14204 阅读 · 1 评论 -
QT QTableWidget 用法总结
QTableWidget是QT程序中常用的显示数据表格的空间,很类似于VC、C#中的DataGrid。说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并转载 2015-04-13 13:01:40 · 578 阅读 · 0 评论 -
QT中文乱码问题
1.QString内部默认采用unicode2.当通过一个字符串生成QString时,QString必须知道这个字符串是什么编码,默认它认为是Latin13.(1)为了告诉QString字符串是什么编码,就采用 QTextCodec *codec = QTextCodec::codecForName("utf8"); QTextCodec::setCodecForCStr...原创 2014-06-11 17:27:21 · 1248 阅读 · 1 评论 -
setWindowFlags(Qt::FramelessWindowHint);使得窗体透明的问题解决
方法一: setAutoFillBackground(true);方法二:不要传this指针给子窗口。dialog dlg(this);dlg.exec();改为dialog dlg;dlg.exec();转载 2016-03-13 22:40:16 · 6264 阅读 · 0 评论 -
QT禁止父窗口样式影响子控件样式
QDialog{****}改为QDialog#myDlg{***}即,指定对象名。转载 2016-04-21 13:39:46 · 10813 阅读 · 0 评论