QT编程
andylauren
嵌入式爱好者
展开
-
Qt多线程编程中的对象线程与函数执行线程
近来用Qt编写一段多线程的TcpSocket通信程序,被其中Qt中报的几个warning搞晕了,一会儿是说“Cannot create children for a parent that is in a different thread”,有时候又是“QSocketNotifier: socket notifiers cannot be enabled from another thread”,转载 2016-08-16 22:09:06 · 3221 阅读 · 0 评论 -
QString与编码 QString 与中文问题
首先呢,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString。很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四个汉字采用的那种编码。而问题一般都出在很多用户对自己当前的编码没太多概念,于是转载 2016-08-16 22:12:56 · 591 阅读 · 0 评论 -
QT4中构建多线程的服务器
而对于服务器来说,多线程的这个特性太有用了,因为多线程使得服务器可能同时响应多个客户端的请求,所以现在服务器大多采用多线程,所以才会造成我开始的误解。不管是多线程,还是服务器,QT中已经封装好了特定的类,所以使用起来也很方便。下面建立一个支持多线程、TCP的服务器。首先建立一个服务器。新建一个类(Server)继承QT中的QTcpServer类即可。服务器的职责是监听端口。当监听到转载 2016-08-16 22:16:30 · 863 阅读 · 0 评论 -
QT自动检测系统语言代码
网上有大量的关于QT的多语言装载翻译文件代码,但是都是直接在程序写硬编码或者有界面列表来选择。但是最友好的方式,自动检测操作系统的语言的,根据语言自动加载相关界面翻译文件。查阅QT帮助文档,发现QSystemLocale 是有语言和国家检测功能,这里如果要区别简,繁体区别,必须查CountryId. 经过实验,代码成功如下:#include #include #include转载 2016-08-16 22:34:15 · 7788 阅读 · 2 评论 -
如何让 Qt 的程序使用 Sleep
Qt 为何没有提供 Sleep论坛上不时见到有人问:Qt 为什么没有提供跨平台的 sleep 函数?使用平台相关的 Sleep 或 nanosleep 以后,界面为什么没有反应?QThread 中提供了protected 权限的 sleep 函数,如何用到主线程中?使用 QTest 中的 qSleep,在windows下如何隐藏控制台?这些问题其实归结为一点:在主线程中使用这些函数转载 2016-08-17 22:31:21 · 578 阅读 · 0 评论 -
Qt界面设计常用技巧总结
1. 子窗体或控件,重写paintEvent事件,画边框、背景、文字、图片效果比较好,因为窗口在创建的时候会自动调用paintEvent事件,所以可以在paintEvent事件中初始化一些自定义效果。用paintEvent 事件画边框,用QPalette设置背景。// 画边框 QPainter painter(this); painter.setRenderHint(Q转载 2016-08-14 13:31:40 · 8510 阅读 · 0 评论