Qt
沙漠飞鱼
这个作者很懒,什么都没留下…
展开
-
Qt mac 系统菜单的国际化与修改
1、ts翻译文件的修改<context> <name>MAC_APPLICATION_MENU</name> <message> <source>Services</source> <translation>服务</translation> </message> <message> <so原创 2021-11-15 12:33:00 · 624 阅读 · 0 评论 -
Qt 嵌入cef后,旁边控件状态不刷新问题
一年多前就遇到过,当时也没解决,就是按钮的hover态不能正常显示出来,需要最大化后才能正常显示,当时应该是规避解决的。正解是设置控件属性setAttribute(Qt::WA_Mapped);原创 2021-06-03 19:33:05 · 331 阅读 · 0 评论 -
QTabWidget tab切换跳来跳去
设置QTabBar:tab 的margin-top值就不动了;原创 2021-06-02 19:16:52 · 532 阅读 · 0 评论 -
xcode12 llvm 调试QString
默认不支持显示QString,需要对QString进行注册。1、home目录下新建.lldb文件夹,放入qstring.py文件,文件内容如下:import lldbdef utf16string_summary(value, *rest): d = value.GetChildMemberWithName("d") length = d.GetChildMemberWithName("size").GetValueAsSigned() offset = d.GetCh转载 2021-05-16 10:33:26 · 366 阅读 · 0 评论 -
no rule to male target .moc,needed by .o
.pro moc_dir导致,去掉这个选项可以编译通过了原创 2021-05-13 14:58:24 · 243 阅读 · 0 评论 -
mac Qt5.9.7 QApplication file not found
改成QtWidgets/QApplication原创 2021-05-13 14:26:47 · 431 阅读 · 0 评论 -
目录分隔符
为了win和mac的移植兼容性,选择左分隔符 "/";原创 2021-05-12 19:59:59 · 549 阅读 · 0 评论 -
QTimer定时器不执行超时槽函数的可能原因
昨天这个问题卡了很久,脑袋疼,最后还是定位到跟子线程有关。这个QTimer start是放在第三方库的回调过程中的,在子线程中调用不能放入事件循环中,检测不到定时器。最后通过在主进程再进行调用解决。...原创 2021-01-29 11:37:27 · 5881 阅读 · 0 评论 -
Qt staticMetaObject不是classXXX成员,qt_matacall不是classXXX成员的一种解决方法
涉及到类多继承QObject的时候可能会遇到此问题,错误信息提示如下:问题出现在子类的第一个父类不是QObject,报错的成员都是QObject这个宏里面包含的,具体原因不清楚。第一个继承类改为QObject解决。...原创 2021-01-29 11:20:48 · 1381 阅读 · 2 评论 -
Qt窗口有时不刷新问题解决
遇到过Qt QWidget窗口上QLabel控件不能刷新的问题,最后重载showEvent,问题原因不明白啊。代码如下:void showEvent(QShowEvent *e){ this->setAttribute(Qt::WA_Mapped); QWidget::showEvent(e);}原创 2020-08-25 11:06:20 · 3000 阅读 · 2 评论 -
Qt VS编译错误部分记录
1、Error starting process D:\Qt\Qt5.9.0\5.9\msvc2015\bin\moc.exe: 系统找不到指定的文件;添加环境变量path qt目录bin;2、unable to read mkspecs/qconfig.pri;qt bin目录下缺少qt.conf文件,手动添加,内容:[Paths]Prefix=..3、windeployqt reports "Unable to find dependent libraries...";...原创 2020-08-09 23:43:05 · 2304 阅读 · 0 评论 -
Qt qss控件样式专栏
为了方便以后查找Qt Widget控件的qss样式,也是使用Qt GUI的一个总结,决定后续有时间整理一些已经开发过的控件的qss样式。希望可以达到一个方便自己,惠及他人的一个目的。首先可以通过Qt 帮助手册搜索,Qt Style Sheets Examples,来查看一些控件的大多数样式,应该可以满足日常的大多数需求。然而手册可能还是没有那么直观。...原创 2020-06-11 12:54:54 · 497 阅读 · 0 评论 -
Qt 蒙层QWidget大小变化时闪烁问题
程序有时候需要做蒙层,来凸显当前需要关注的内容,多用于模态对话框的情况。当蒙层覆盖整个程序大小时,是最简单的,简单的控制show,hide就行了。然而有时候需要显示尺寸不同的蒙层,这时候的模态也是假模态,有部分按钮可以操作。这种需求下,就会有蒙层由QRect A向QRect B显示的场景。然后问题就发生了,在大小变化的过程中,底层控件会发生位移,伴随问题就是闪了一下,虽然时间很短,但体验真的很差。问题原因还没有深究,解决方法也是简单:先令QWidget hide,然后再执行变化过程,再sho原创 2020-06-07 15:01:41 · 1791 阅读 · 1 评论 -
Qt 双滑块QSlider的实现
在开发项目时,有需求要做双滑块的滑动条,本着能不造轮子就不造轮子的原则,去网上搜了一番,果然有Qt开源的拓展库,Qt Extension Library,有一个控件是QxtSpanSlider,实现了简单的双滑块,然而自定义了一些样式后,就各种问题。于是又搜索相关的解决办法,有搜到一位博主的博客,url:https://blog.csdn.net/Ilson_/article/details/103960278,按照博主的方法,没有起左右,于是又花了C币去下载,还是不起作用。无奈之下,又不想自己写这个控原创 2020-06-07 12:16:35 · 6969 阅读 · 2 评论 -
Qt QButtonGroup 一些记录
1、需求是这样,把n个按钮放入QButtonGroup中,可以不选,也可以只选中一个。QButtonGroup默认exclusive属性为true,即单选。那么问题来了,如何做到一个也不选呢,当前情况即使再单击选中的按钮,状态也不会变为unChecked。我的做法是添加一个辅助按钮AsstBtn放入QButtonGroup中,然后设置为隐藏,当我们不需要选中时,就把这个隐藏的按钮设置为check状态,可以完美匹配需求~2、在做上面需求的过程中,出了点小问题。在把AsstBtn放入QButtonGro原创 2020-06-01 23:56:44 · 626 阅读 · 0 评论 -
Qt 顶层窗口设置圆角及阴影效果
顶层窗口由于没有父窗口作为依托,因此设置border-radius是无效的。我们可以为控件添加一个透明的父窗口,来实现圆角以及四周的阴影效果。最终demo的效果图如下所示:此窗口的源码如下:Friends::Friends(QWidget *parent) : QWidget(parent){ setFixedSize(800, 600); setWindowFl...原创 2019-11-23 20:04:27 · 1501 阅读 · 0 评论 -
Qt控件不能接收mousePress事件的原因
最近做的项目中,QWidget事件在经过软件的一系列操作后,突然不能接受mousePress事件,经过一整天的排查才发现问题。本来以为既然能接受mouseEnter和mouseLeave事件,那么控件应该是enable的。结果令人诧异,问题还是在隐蔽的地方设置了控件disabled。后来的方案是,QWidget提供一个接口设置disabled,在QWidget上加了一层蒙版控件,显示的时候...原创 2019-11-05 11:41:40 · 2004 阅读 · 0 评论 -
qml使用QQuickWidget无法输入中文问题解决
前段时间遇到QQuickWidget嵌入的qml中,文本输入框无法输入中文的问题。在同事的帮助下,解决此问题。方案如下:1、QQuickWidget中创建 焦点变化 信号槽连接:connect(quickWindow(), &QQuickWindow::activeFocusItemChanged, this, &MainQuickWidget::onActiveFocu...原创 2019-10-23 14:24:04 · 1178 阅读 · 2 评论 -
QListWidget获取当前视图索引的方法
Qt在开发QListWidget控件的时候,会遇到获取当前视图所处的索引的问题,那么我们如何获取这些索引以进行相应处理呢?方法: int index = QListWidget->indexAt(QListWidget->viewport->contentsRect->topLeft->row()); 获取左上角的项索引;其他类似;...原创 2018-10-29 11:42:45 · 5940 阅读 · 0 评论 -
Qt 添加外部库文件
Qt添加外部库文件,一种就是直接加库文件的绝对路劲,这种方法简单,但是遇到多个库文件的时候,会很麻烦,而且,如果工程移动位置以后还需要重新配置另一种就是相对路径了,不过Qt 编译的文件会在一个单独的文件件里面,这里要和vs所好区分我现在鼓捣出四种种方式来加载库文件[cpp] view p转载 2017-04-29 22:34:00 · 1154 阅读 · 0 评论 -
QListWidget内部项结构
QListWidgetItem都是挨着的,当设置QListWidget的项间距margin大于0时,实际上缩小了item-widget(自定义的控件)的大小,比如当QListWidgetItem设置setSizeHint为(160,120)时,margin为5,里面的item-widget应设置为(150,110);当QListWidgetItem的border-width大于...原创 2018-09-29 16:07:02 · 1907 阅读 · 1 评论 -
Qt去除控件虚线框的两种方法
在显示Qt Widget的控件时,经常遇到控件周围有虚线框的情况,很是影响软件的美观。下面有两种方法解决这个问题。1、设置控件的样式进行设置QWidget:focus { outline: none;}这种方法有时候使得控件失去样式,我们可以设置对应的控件样式为 outline:none;2、让QApplication设置一个继承自QProxyStyle的类。继承 ...转载 2018-09-21 21:40:12 · 2468 阅读 · 0 评论 -
QListWidget 插入QListWidgetItem问题
QListWidget 中插入新项是很常见的操作,方法有二。一是addItem,是在QListWidget的最后插入一项;而是insertItem,是在QListWidget的row参数的位置插入一项。在这种方法中,需要注意一点,就是在新建项的时候,项的父控件不能是QListWidget,否则还是添加到QListWidget的最后,即不能 item = new QListWidgetIte...原创 2018-10-11 14:21:47 · 6078 阅读 · 4 评论 -
QListWidget触摸屏 滑动停止事件处理
网上搜了半天没有找到其滑动条停下来的相关事件,在自己的项目中是这样实现的;1、监测滑动条值改变事件,记录当前值A;2、界面中添加一个计时器比较当前值B与A的值;3、如果A与B第一次相等,设置值C等于B;第二次相等的时候如果C==B==A,则说明滚动条不再滑动了;最终实现效果也还是不错的。...原创 2018-08-18 15:38:00 · 1068 阅读 · 0 评论 -
C++回调函数和this指针的实例
--------------------- 作者:徐小hi 来源:CSDN 原文:https://blog.csdn.net/u010177010/article/details/50837067 版权声明:本文为博主原创文章,转载请附上博文链接!在做到界面开发的过程中,往往需要通过子窗口去操作父窗口的问题。方法很多,大致实现下回调函数和类静态对象的使用。在类的非静态函数的形参列表...转载 2018-10-31 14:28:26 · 1480 阅读 · 0 评论 -
qt使用动态库(DLL)
本文主要讲解在QT开发环境中如何使用VC生成的DLL及QT自身生成的DLL。至于其它情况本文不作讨论。连接库分为2种(1)动态连接库,通常有.h .lib .dll三个文件,功能实现在dll中(2)静态连接库,通常有.h .lib二个文件,功能实现在lib中由上可以看出动态库的lib和静态库的lib文件是不同的。 如果使用生成连接库的开发环境与使用连接库的开发环境相同,一般不会出什...转载 2018-10-31 15:14:13 · 1100 阅读 · 0 评论 -
Qt 触屏QLineEdit获取焦点后不出现系统键盘的问题
Qt开发的在surface上的应用,出现QLineEdit获得焦点后不出现系统键盘的问题,但是设置成密码模式就能自动弹出键盘。在网上进行了一番搜索,几乎都是自己去过滤事件,然后调出自己写的软键盘。最后windows10系统费劲升级到了1803版本,此问题就没有了,sigh...... ...原创 2018-10-30 10:47:56 · 2198 阅读 · 0 评论 -
Qt中文排序
开发的项目中,需要对列表进行中文排序,所以需要用到此功能。代码结构如下:QLocale cn(QLocale::Chinese);QCollator cr(cn);std::sort(string_list.begin(),string_list.end(),cr); ...原创 2019-02-21 15:22:04 · 548 阅读 · 1 评论 -
Qt 部分翻译不起作用的原因
1、类中没有定义Q_OBJECT;原创 2019-03-19 14:51:20 · 3929 阅读 · 1 评论 -
Qt使用UAC权限
在做Qt应用程序时,有时会需要程序以管理员身份运行,Qt下的开发方法如下。一、mingw编译器环境1、添加uac.manifest文件,文件内容如下:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" m...转载 2019-03-22 11:04:53 · 1419 阅读 · 0 评论 -
QLabel同时设置背景图片和边框遇到的问题
处理QLable时,遇到设置边框,但是却显示不出来的问题。后来查看qss,发现设置背景图片的地方有些是background-image,有些是border-image,从这个线索入手,发现QLabel设置的是border-image,所以尝试地改成了background-image。果然就好用了。其实从属性名称上也能发现一些端倪吧。...原创 2019-09-17 19:14:25 · 1408 阅读 · 0 评论 -
QlistWidget滑屏事件处理
当我们把程序放到移动端上时,比如一体机或者surface上后,希望QListWidget是可以滑动的。为了达到此目的,我们需要进行如下设置:1、m_ListWidget->setHorizontalScrollMode(QListWidget::ScrollPerPixel);2、QScroller::grabGesture(m_ListWidget,QScroller::LeftM...原创 2018-08-14 09:08:44 · 4407 阅读 · 3 评论 -
Log4Qt 使用笔记(一)
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]没用过Log4J和Log4CXX,初次接触Log4Qt,还真有点头昏脑胀,无论如何,先简单记录一下。Log4QtLog4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的资料应该是最直接有效的(因为Log4Qt的直接资料太少了)。Log4Qt主要是用来记录转载 2017-03-10 10:39:46 · 449 阅读 · 0 评论 -
限制QLineEdit的数值输入范围
在使用QLineEdit输入数值时,经常遇到限制其范围的需要,比如角太阳高度角范围为[-90,90],经度值范围[-180,180],方位角范围[0,360]。Qt提供了QIntValidator和QDoubleValidator可以限定数值输入范围,如使用QIntValidator限制整数的数值范围:例1:[cpp] view plain copy转载 2017-04-21 11:46:44 · 857 阅读 · 0 评论 -
Qt creator 中设置命令行参数方法
Qt Creator设置命令行参数;转载 2017-05-15 21:53:44 · 1476 阅读 · 0 评论 -
Qt Widgets、QML、Qt Quick的区别
Qt Widgets、QML、Qt Quick的区别转载 2017-04-26 17:23:10 · 1966 阅读 · 0 评论 -
Qt为程序或库添加版本信息
Qt设置版本信息转载 2017-05-17 17:47:28 · 6843 阅读 · 0 评论 -
QMenu StyleSheet 的使用
转载自:http://blog.csdn.net/linux_wgl/article/details/52568119QMenu StyleSheet 的使用QMenu *menu = new QMenu(); menu->addAction("aaaa"); menu->addAction("bbbb"); menu->addAction("cccc");转载 2017-07-26 14:13:50 · 1169 阅读 · 0 评论 -
Dumpbin命令查看软件32位/64位
64位的程序是不能加载32位的库,32位的库和64位应用程序是不兼容的。 所以如果在load过程中发现出错,首先得确定所加载的库是64的。如何判断库是64位的?dumpbin.exe 它用来分析二进制库和程序的结构。使用VS的dumpbin工具可以查看库文件的32位/64位。使用方法是到cmd切换到VS安装目录下的VC/bin目录下,执行 dumpbin /headers xxx.dll即可查转载 2017-08-25 16:46:37 · 1542 阅读 · 0 评论 -
Qt 旋转图片或控件
Qt直接旋转一张图片,会发生错位。所以应该修正一下。定时旋转一张图片,修正位置后,很好。旋转控件类似[html] view plain copyQTimer* m_pRotatePointerTimer = new QTimer(this); connect(m_pRotatePointerTimer, SIGNAL(tim转载 2018-01-21 15:58:32 · 2461 阅读 · 0 评论