Qt 线程中用QPainter绘制文字,出现方块。

被风拿走的思念 2017-12-25 04:02:42
大神们,我在使用QPainter 绘制文字的时候,结果画出来的是方块。我在主线程中绘制没有问题,但是在run函数中绘制就是这样。是系统原因吗?我用的是Ubuntu16.04,Qt 4.8
...全文
849 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
大风哉 2018-01-02
  • 打赏
  • 举报
回复
引用 10 楼 qq_28016947 的回复:
[quote=引用 9 楼 dafengmi 的回复:] [quote=引用 8 楼 qq_28016947 的回复:] 看了下文档,真的是不支持text绘制。还好我的是Linux+arm平台,躲过一劫。 官方文档:
恭喜你了,你用Qt在做什么产品啊[/quote] 公司内的一个嵌入式播放软件。[/quote] 现在跟设备相关的一些软件都是用C/C++做的吧,我最近这段时间在想,貌似C/C++方面的程序员没有那些做App、网站类的程序员好赚外快。
  • 打赏
  • 举报
回复
引用 9 楼 dafengmi 的回复:
[quote=引用 8 楼 qq_28016947 的回复:] 看了下文档,真的是不支持text绘制。还好我的是Linux+arm平台,躲过一劫。 官方文档:
恭喜你了,你用Qt在做什么产品啊[/quote] 公司内的一个嵌入式播放软件。
大风哉 2017-12-27
  • 打赏
  • 举报
回复
引用 8 楼 qq_28016947 的回复:
看了下文档,真的是不支持text绘制。还好我的是Linux+arm平台,躲过一劫。 官方文档:
恭喜你了,你用Qt在做什么产品啊
  • 打赏
  • 举报
回复
看了下文档,真的是不支持text绘制。还好我的是Linux+arm平台,躲过一劫
官方文档:
  • 打赏
  • 举报
回复
什么鬼,图片怎么镜像了?


  • 打赏
  • 举报
回复
引用 5 楼 dafengmi 的回复:
印象中只有UI线程能绘制,如果怀疑是字符集的原因,你把这些字符集换成英文字符试试,英文字符的话不同字符集下都能正常显示。
如果怀疑是编译器的原因,你可以换到其他环境的编译器来编译,排除一下猜想。

Font rendering on background threads can be a little flaky in Qt, depending on how it was compiled. Check the value of QFontDatabase::supportsThreadedFontRendering on your system.

Note the documentation:
Returns true if font rendering is supported outside the GUI thread, false otherwise. In other words, a return value of false means that all QPainter::drawText() calls outside the GUI thread will not produce readable output.
然后我分别在Windows和Linux下调试了下返回值。一个返回true一个返回false,感觉麻烦大了。


  • 打赏
  • 举报
回复
自己顶一下。
大风哉 2017-12-26
  • 打赏
  • 举报
回复
印象中只有UI线程能绘制,如果怀疑是字符集的原因,你把这些字符集换成英文字符试试,英文字符的话不同字符集下都能正常显示。 如果怀疑是编译器的原因,你可以换到其他环境的编译器来编译,排除一下猜想。
  • 打赏
  • 举报
回复
都是Qt4.8,是不是编译器的原因,或者字符集的原因呀。
  • 打赏
  • 举报
回复
引用 1 楼 sddsighhz 的回复:
QPainter 貌似只能在主线程中进行绘制

我一开始是在Windows下进行开发的,用的是 win mingw-g++,测试是没有问题的。
Creator_莫言 2017-12-25
  • 打赏
  • 举报
回复
QPainter 貌似只能在主线程中进行绘制

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧