QT
文章平均质量分 53
evil_119
C/C++ 程序员
展开
-
QT多语言翻译工作
qt自身对多语言支持很方便原创 2016-08-10 16:12:28 · 429 阅读 · 0 评论 -
ubuntu 16.04 关闭开启图形界面之systemctl命令
ubuntu16.04关掉图形界面启动,命令:systemctl disable lightdm.service确实生效了,但是由于不能显示笔者的应用程序(QT界面程序),系统一直卡死在启动界面,还不如进gnome界面了,故又想恢复,发现恢复之路坑太多了。1.因为界面卡死,是不能用输命令的,所以只能且系统模式,好在ctrl+alt+f1还是能用的,进入文本模式。2.百度systemct...原创 2018-10-23 16:38:53 · 6339 阅读 · 1 评论 -
Qt想用QLibrary动态加载库,遇坑!
最近写了一个小组件没错就是虚拟键盘,打包成动态库了,但发现一个小问题,就是QLibrary动态加载总有问题当然,在做下面测试的之前,肯定是需要保证自己的dll是ok的,右击工程添加本地库是正常执行了的。首先在pro文件中即使添加库路径如下LIBS += -L$$OUT_PWD/../keyboard/debug/当然我删除了-lkeyboard,因为我要用QLibrary::load...原创 2018-10-24 17:56:04 · 4609 阅读 · 6 评论 -
Qt自己编写keyboad虚拟键盘
由于项目中有需要用到虚拟键盘,首先想到的是系统自带的,笔者是Ubuntu16+Qt5.9。1.系统虚拟键盘的优缺点:优点:直接可以脚本调起,功能完善,稳定。外观完美。缺点:定制麻烦(详情看onboard帮助文档,英文),要想像手机那样用时自动显示,不用时自动隐藏,需要先设置系统的输入法,而且需要GNome的辅助功能支持。2.Qt5已经有自带输入法了。Qt安装的时候就有一个virtu...原创 2018-10-24 18:53:32 · 17288 阅读 · 10 评论 -
QT将事件执行moveToThread槽函数不响应问题
如图,最近遇到这么个问题,想将写日志信息放到一个单独的线程中去执行,然而添加movetothread后程序就不进入槽函数了,第一想到的就是检查语法规范,然而,注释图中第三行代码发现,可以执行,显然,语法是没任何问题的了。这就有点奇怪了,于是单步调试发现如下图这个提示就很明显了,原来是参数未注册元对象的问题。那好注册一下试试呗,成功了,打印下线程信息安心呗,果然意料之中。总结...原创 2018-11-27 17:59:50 · 2348 阅读 · 1 评论 -
再谈qt5程序发布时依赖库问题追踪
程序打包后,发布到新的Ubuntu18,又出现了依赖库的问题。使用ldd显示的所有依赖库都已经存在了,一切正常,然而一运行就发现qxcb no found,这。。。。难道plugins路径不对?之前在其他环境都布了完全能运行啊,怎么可能plugins会不起效呢?设置一下环境变量/拷贝qxcb库到应用程序路径,还是不起效,所以路径不对也基本可以排除了。这时,使用qt自带的一个调试插件的宏就起...原创 2018-12-24 17:52:50 · 919 阅读 · 0 评论 -
Qt5 Linux远程调试
当我们程序发布到新机时,难免会遇到意料之外的情况,在目标机安装编译环境虽不失为一种方式,但安装环境耗时耗力,远程调试一定会让你觉得神清气爽.1.目标机需要有gdb gdbserver.没有就安装,Ubuntu是自带有,gdbserver --version可以查看版本信息2.目标机执行debug版本gdbserver 127.0.0.1:1234 myAppip:port说...原创 2019-02-27 12:58:52 · 680 阅读 · 0 评论 -
使用windeployqt打包
使用QT5自带的windeployqt打包程序1.从开始菜单找到qt程序目录如下图,我安装了vs版和mingw版本,根据需要选择即可。2.执行两条关键命令cd 到exe所在的目录执行windeployqt *.exe会在当前目录生成exe依赖的所有文件(含库,语言包,插件等信息,部分非必须文件也会被拷贝过来)。此时程序即可打包了。...原创 2019-06-11 13:36:48 · 526 阅读 · 0 评论 -
QT5中Model/View模型的使用
该文章不对model/view的初级使用做解释qt引入Model/view结构,目的是为了提高传统QTabelWidget等的大数据刷新的效率。既然是为高效率显示而设计的,我们使用时就需要对其设计思路做了解。view的继承模型如下图:model继承模型如下图:结合两个类继承图,我们可以看出Model/view是完全分开设计的,目的就是解耦合,Model只做数据管理,view...原创 2018-09-30 14:50:31 · 17734 阅读 · 4 评论 -
QT中文乱码关键几点强调
QT,相信使用的人很多用在跨平台上,然而要保证Windows、Linux同用一份源码,就不得不考虑源代码编码问题了,在编码发展上,我打赌未来肯定是要舍弃Ansi转向Unicode编码的,Unicode又有多种编码方式GBK,GB2312,BIG5,utf8,utf16等。Win下默认GBK,Linux(ubuntu)默认utf8,然而QT呢?QTCreator文本编辑器默认也是utf8文件格式原创 2016-08-10 16:09:26 · 439 阅读 · 0 评论 -
QT 的信号与槽机制介绍
信号与槽作为 QT 的核心机制在 QT 编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。转载 2016-09-06 18:19:01 · 314 阅读 · 0 评论 -
关于Windows、linux跨平台的一些建议
在你做跨平台开发时,难免会遇到一些因操作系统特性带来的麻烦。本文集聚部分,并以Windows,linux为目标平台分析。由于java,Python等语言基本锁定自家编译器、IDE,也就没有C/C++这样的麻烦了,本文还是以C/C++为主。1、 关于路径和头文件路径分隔符的问题在Windows中,正斜杠和反斜杠都可以,但是在Linux中,只能是/。在Windows中,路原创 2016-10-11 14:57:55 · 3242 阅读 · 0 评论 -
Ubuntu/Windows使用glog(0.3.5版)
glog获取 git clone https://github.com/google/glog.git 或者直接网页下载下来,tar -xzvf google-master*.gzglog编译生成 如果是window平台,得使用CMake工具生成解决方案并编译生成相应的libglog.dll,libglog.lib本文不作赘述。前面以说过CMake的使用。 Ubuntu生成...原创 2018-04-03 20:08:42 · 1629 阅读 · 0 评论 -
qt5.9中虚拟键盘的中文使用
qtvirtualkeyboard是qt基于qtquick的一个项目,源代码目录如下图:为何要提到这个呢,是因为本文想解释中文输入。否则只需在安装qt的过程中将qtvirtualkeyboard插件打上勾就能在qml工程中使用了。qtvirtualkeyboard工程包含例程,库,插件等。例程是basic一个简单的qml项目,库有多个语言库,在目录qtvirtualkeyboard\src\vir...原创 2018-05-04 11:59:10 · 7118 阅读 · 2 评论 -
QT5如何打包到Ubuntu16
最近一个跨平台的项目打包折腾的够呛,所以记录一波。ldd 应用程序名可以查看该应用程序名下面的所有依赖库,所以该命令很重要。网上有人利用该命令去导出所以依赖库,附代码如下:#!/bin/shexe="./appname"#发布的程序名des="/home/myname/Qt5.9/"#目标路径deplist=$(ldd $exe | awk '{if (match($3...原创 2018-06-20 12:16:12 · 1540 阅读 · 0 评论 -
libreCAD使用
维基百科libreCAD是QCAD的一个分支,由qt开发的一个免费开源跨平台2D CAD应用,该工程使用了libdxfrw库,所以支持dwg文件的读写。详细介绍参考维基百科。1.下载libreCAD源码github开源地址2.编译用qtcreator打开工程,发现如下图所示:工程提示信息:需要c++11标准支持,需要boost_1_53_0(需要格外下载)支持,以及自带...原创 2018-09-06 11:46:00 · 14340 阅读 · 6 评论 -
Qt5压缩解压缩文件/夹
全网居然没找到一个能直接压缩整个文件夹的c/c++库,就算找到了zlib,karchive,archive等开源库,基本也是在Linux下支持的较好,在win下只有zlib还算是编译过了。而且不能全文件夹压缩的,都是buffer或者单文件压缩,这就好奇了,标准zip怎么搞?原来zip是有一个特定archive的,链接在此。由此思路,如果自己要压缩文件夹,那就自己遍历,然后自己定义压缩文件的格式...原创 2019-08-02 15:21:15 · 2782 阅读 · 2 评论