GUI - QT编程
文章平均质量分 84
记录 QT 知识
leon.liao
这个作者很懒,什么都没留下…
展开
-
多线程技术
说明QT支持以下四种方式实现多线程程序。QThread:低级接口并且支持可选的时间循环QThread是多线程编程的基础类,QThread实例就是线程实例。QThread支持两种使用方式:可以直接实例化QThread。可以继承QThread,实例其子类。实例化QThread(moveToThread方式)该方式是官方推荐使用方式,实例化QThread提供了一个并行的事件循环,允许在其它线程通过信号的方式调用其内部函数。使用流程:定义一个继承QObject的类,如下:*原创 2020-08-06 21:08:38 · 114 阅读 · 0 评论 -
网络编程 - http 通信
说明QT网络模块中的QNetworkAccessManager类提供了统一的网络访问管理接口,不仅仅支持http协议,还支持ftp,HTTPS等协议;QNetworkRequest封装了网络请求接口;QNetworkReply封装了网络回复接口。Tip:Qt4x分别使用QFtp和QHttp,Qt5以后统一用QNetworkAccessManager。使用基本使用引入网络模块, 在.pro文件中添加以下设置QT += network创建QNetworkAccessManager对象原创 2020-07-29 20:53:18 · 194 阅读 · 0 评论 -
多线程 - 线程安全策略
说明初接触QT多线程,时常出现程序运行时提示以下信息:QObject: Cannot create children for a parent that is in a different thread.字面意思大体上是:父对象和子对象不能创建于不同的线程。该错误的原因体现了以下QT线程安全策略。线程安全策略构造时可设置父对象的类变量只能在其创建线程中使用,不能跨线程共享,即使是通过指针共享,不然运行时会提示以上错误;不需要父对象的类对象可以在多线程中共享,例如:class te原创 2020-07-28 21:30:42 · 149 阅读 · 0 评论 -
环境配置 - 多版本切换
事由使用QT做嵌入式开发时,芯片原厂给的SDK包中只包含交叉编译工具,以及一些必要工具,为了获取IDE(QT create) 和一些通用的工具,环境搭建时,需要安装开发平台的QT sdk,这样就存在两套SDK,qmake,编译链等工具存在两份,如何选择正确的那一份,以及在多个版本之间切换?当前做法和问题当前公司的做法是SDK安装到和用户无关的固定路径,使用脚本编译,在脚本中写死工具的绝对路径。当前遇到的问题:在开发中依然出现工具的绝对路径不同,编译脚本无法通用,使用时依然需要配置路径。解决原创 2020-06-13 15:16:07 · 427 阅读 · 0 评论 -
控件显示和隐藏
说明GUI控件在不同情况下有多种状态,如下:隐藏不占位;控件隐藏并且不占用窗口上的位置,例如:顺序布局,隐藏掉一个item,其位置会被其它元素占用。隐藏占位;控件隐藏但是占用窗口上的位置,例如:隐藏掉该控件,其位置不会被其它元素占用。显示但不可见;控件显示但是由于被其它控件遮挡,或者父控件未显示,导致实际上不可见。显示并且可见;控件显示并且可见。由于控件显示隐藏有多种状态,如...原创 2020-04-21 18:21:39 · 3103 阅读 · 0 评论 -
QT - 调试方式
说明嵌入式开发未使用QTCreate,因此暂未研究QTCreate工具的使用。打印信息Qt平台采用C++语言,因此支持多种方式打印信息。C语言printf函数。C++语言std::cout。Qt平台日志功能(qDebug、qWarnng、qCritical、qFatal)。方式区别方式3是QT平台实现的打印方式,对QT平台兼容性好,std::cout 大部分情况下...原创 2020-03-12 14:14:43 · 627 阅读 · 2 评论