Qt
文章平均质量分 59
上官宏竹
这个作者很懒,什么都没留下…
展开
-
QT必备知识
QT 中的模型/视图机制支持多种不同的数据源,例如内存中的数据、数据库中的数据、XML 文件中的数据等。具体来说,使用 Q_OBJECT 宏定义后,编译器会为该类生成一个 QMetaObject 对象,该对象包含了该类的元对象信息,包括类名、信号和槽的名称、参数类型等等。如果在一个子线程中,这个子线程没有运行事件循环,那么这个对象的删除,将在子线程结束时删除。QObject被设计成在一个单线程中创建与使用,因此,在一个线程中创建一个对象,而在另外的线程中调用它的函数,这样的行为不能保证工作良好。原创 2022-11-30 14:22:55 · 2265 阅读 · 0 评论 -
QT多线程之:moveToThread
并非是将a实例相关的所有的工作“移动”到了m_thread线程,而是将所有a实例相关的事件托管到m_thread线程执行。换句话说,就是通过信号槽connect或者invokeMethod触发a实例中槽函数产生的事件,将会被放置到m_thread线程中执行。只有在线程启动后,并且通过信号槽和invokeMethod调用,且是队列的方式,才能让QOject子对象的show函数跑在子线程中。需要用Q_INVOKABLE声明,invokeMethod才能调用,否则会找不到show这个接口。原创 2022-11-07 17:05:47 · 1756 阅读 · 0 评论 -
QTreeWidget
获取当前拖动到的目的条目(本意是获取鼠标位置所在的条目),即下图中的中间条目(即灰色显示的条目,被移动的“滤镜5”条目所遮挡的那个条目)OnItem、AboveItem、BelowItem分别表示,拖动时,拖动对象在目标条目之上、上方、下方。拖拽treewidget上的项目,切换条目的上下关系,在。原创 2022-10-13 15:01:21 · 177 阅读 · 0 评论 -
QT学习:使用JSON/XML等非ts文件实现多语言国际化
主要的方法也比较简单:下面说下的实现主要是将JSON文件中的key-value,解析后存放在map表中,供后面的使用重载translate按照的原型,重载一个即可。主要是通过传入的,在前面的map表中找到对应的value,即翻译字符串,返回即可。注册实例注册实例,一定要在主线程,另一个是要在使用之前注册。运行结果中文JSON文件:完整实现可以微信搜索公众号:“上官宏竹”,关注并回复:“qt_language”,...原创 2022-06-24 12:44:07 · 540 阅读 · 0 评论 -
Mac平台的qtcreator配置clang format保存时自动格式化
点击“关于插件”,在打开的插件框中搜索“Beautifier”,点击勾选,重启QtCreator原创 2022-06-08 18:26:05 · 562 阅读 · 0 评论 -
QT学习:QDropEvent拖拽事件
使用QT实现一个如下的拖拽、拖放动作,只需要三步。主要是使用dropEvent和dragEnterEvent事件处理即可以。在UI中画好布局,然后全部代码如下所示:原创 2022-06-01 14:19:18 · 4180 阅读 · 1 评论 -
MAC下配置QT环境变量(VSCODE)
配置过程MAC下配置QT环境变量,主要配置如下:touch ~/.bash_profilevim ~/.bash_profile~/.bash_profile填写如下内容即可:export QTDIR=/XXX/Qt5.12.11/5.12.11/clang_64export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/libexport PATH=$PATH:$QTDIR/bin注意:如果使用的oh my zsh的shell按照以上的配置在关掉ter原创 2022-05-30 17:47:56 · 2136 阅读 · 0 评论