随笔分类 -  QT

摘要:RT,因为某个字段名称写错了,修改字段语句,语句大致如下 alter table t_user_setting change field1 field2 varchar(32) default '11' comment '22' 每当执行到query.exec()时,直接堵塞不动,刚好我这里使用wo 阅读全文
posted @ 2023-09-05 10:48 补码 阅读(369) 评论(0) 推荐(0)
摘要:步骤: 1、QSqlDatabase::addDatabase第二个参数名称要不一致。 2、QSqlDatabase::addDatabase和QSqlDatabase::open外围加锁,保证连接时不会造成数据竞争(Qt 动态加载plugin, 加载 plugin 的部分,涉及到对本地库文件的管理 阅读全文
posted @ 2023-02-15 22:06 补码 阅读(1564) 评论(0) 推荐(0)
摘要:RT,QList是私有成员变量,在某个函数里面append或者clear,程序都会莫名崩溃,在“概要信息”提示“Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!” 阅读全文
posted @ 2022-12-21 17:33 补码 阅读(1834) 评论(1) 推荐(0)
摘要:RT。 问题发生原因因为设置了touchGesture,而scrollArea的滚动条是包含在scrollArea里面的,用手指滑动滚动条的同时,也触发了touchGesture,两个冲突了。 解决思路: 重新new一个QScrollBar,和scrollArea内的QScrollBar互相映射。连 阅读全文
posted @ 2022-12-10 10:40 补码 阅读(1019) 评论(0) 推荐(0)
摘要:项目从Qt5.12升级到Qt6.4,一开始发现找不到 ui_XXX.h 文件,估计是生成路径不对,将Shadow build勾勾去掉,源文件路径下生成一堆ui_XXX.h文件。重新编译,提示个别class找不到 ui_XXX.h 文件,认真一看,果然没有生成,焦头烂额搞了半天,最后和其他类对比一下, 阅读全文
posted @ 2022-11-03 10:10 补码 阅读(2032) 评论(1) 推荐(0)
摘要:本来调用win10系统键盘好好的,但是多线程调用视频功能后,点击QLineEdit等控件系统键盘无法调用出来(新窗口除外),最后折腾了一整天,终于想到一个解决办法。 思路: 需要系统键盘的控件,却不调用的,在点击控件触发事件时,调用批处理,强制开启键盘。示例如下: //使用QTextEdit con 阅读全文
posted @ 2022-09-22 09:57 补码 阅读(374) 评论(0) 推荐(0)
摘要:来自Qt文档 void QComboBox::currentIndexChanged(int/const QString) connect(comboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), [=](int index){ / 阅读全文
posted @ 2022-09-17 09:03 补码 阅读(98) 评论(0) 推荐(0)
摘要:1、未打开数据。解决办法,打开数据库。 2、多线程操作数据库。解决办法,信号槽将数据发送到打开数据库的线程。 阅读全文
posted @ 2022-09-13 15:24 补码 阅读(1572) 评论(0) 推荐(0)
摘要:1、产生黑边 painter.setPen(Qt::NoPen); // 不设置画笔即可 2、背景透明 this->setAttribute(Qt::WA_TranslucentBackground, true); 3、大致代码 this->setAttribute(Qt::WA_Transluce 阅读全文
posted @ 2022-08-26 13:55 补码 阅读(289) 评论(0) 推荐(0)
摘要:今天发现一个bug,找了很久,一开始以为是在线程中使用了 time 等时间类的类,找了半天,并没有发现类似玩意。 最后想了想,应该是哪里直接操作(没有通过信号槽)QObject类(或子类)。果然,在一步一步中调试发现,某个地方直接给QWidget赋值图片操作QGraphicsScene了。 所以出现 阅读全文
posted @ 2022-07-12 11:49 补码 阅读(1537) 评论(0) 推荐(0)
摘要:QString str; QString str1 = "QComboBox{background-color:rgb(150,150,150);border-radius: 3px; color:white;}"; QString str2 = "QComboBox::down-arrow{ im 阅读全文
posted @ 2022-06-01 15:56 补码 阅读(867) 评论(0) 推荐(0)
摘要:今天在A电脑写好的程序放到B电脑测试,B电脑运行时报出应用程序无法正常启动(0xc000007b),看了网上一堆方法,没有一个帮到忙的,最后想到一个问题,我的程序是Debug版本发布的(为了测试用),说不定是因为这个问题导致的,改成release后,果然能正常打开了。小记一下,防止以后再次踩坑。 阅读全文
posted @ 2022-05-23 21:19 补码 阅读(865) 评论(0) 推荐(0)
摘要:在网上搜索RT,得到的是使用下面函数 于是为了达到效果,还使用了鼠标事件记录移动前点位,移动后点位,鼠标方向改变后重置移动前点。。。最终达到想要的效果。 今天翻看以前小白时候做的项目,发现有个函数。。。。 原来设置一下DragMode就可以了。/(ㄒoㄒ)/~~ 阅读全文
posted @ 2022-04-11 15:31 补码 阅读(415) 评论(0) 推荐(0)
摘要:QToolBox如果直接用remove(不会delete)移除子类,显示会不全,因为item失去约束后,跑到窗口左上角了(这里移除s1), 要想显示完整,remove后将对应item用hide()隐藏即可。 QWidget* item = toolBox->widget(index); // 获取i 阅读全文
posted @ 2021-12-30 13:20 补码 阅读(769) 评论(0) 推荐(0)
摘要:1、注意,要调用的类型必须是信号、槽,以及Qt元对象系统能识别的类型。此外,使用Q_INVOKABLE来声明函数,也可以正确调用。 2、该方法线程安全,其他讲解看手册,就不翻译了 3、隐藏ui QMetaObject::invokeMethod(ui_Ptr, "hide", Qt::QueuedC 阅读全文
posted @ 2021-10-29 15:49 补码 阅读(1692) 评论(0) 推荐(0)
摘要:安装好Qt后,一般情况下在开始菜单可以找到Qt打包工具的快捷键 但是也有找不到的情况。。。Qt打包工具必须和编译版本对应,不然打包完成后会出现 不会提示缺少DLL。所以使用对应版本的打包工具格外重要。 回到原来的话题。找不到打包工具解决方法如下 第一步:首先确定Qt对应bin文件下有windeplo 阅读全文
posted @ 2021-10-23 11:09 补码 阅读(990) 评论(0) 推荐(0)
摘要:最近写个项目,发现pro文件里面头文件越来越多,越来越不好管理,突然想起有个pri,但是没用过。。。。 第一步: 项目文件下创建一个新文件夹ppp(乱起的名字),用于存放pri对应的文件(pri、h、cpp、qrc等等) 第二步: ppp文件中创建pri文件,直接空txt文件改后缀 第三步: pro 阅读全文
posted @ 2021-10-13 22:57 补码 阅读(197) 评论(0) 推荐(0)
摘要:第一步: 安装mysql(略) 安装Qt(略) 第二步: 打开Qt文件,找到mysql项目 第三步: 确定编译器,我这里是MSVC2017 64bit,如果是MinGW要用MinGW编译 第四步: 修改pro。注释第六行,不然提示找不到mysql;添加以前安装好的MyQSL文件夹下的动态库和头文件, 阅读全文
posted @ 2021-10-12 23:30 补码 阅读(376) 评论(0) 推荐(0)
摘要:1、从文中可知当boundingRect()的矩形无法满足需求时,可以使用shpae()来返回任意形状,例如下图所示线条, 2、文中没有提示,通过代码检测后才知道,boundingRect()返回值范围必须包含shape(),不能直接写成QRect(),如下图所示,若 shape()范围比bound 阅读全文
posted @ 2021-10-05 19:13 补码 阅读(882) 评论(0) 推荐(0)