繁体   English   中英

可扩展的Qt应用程序绘制

[英]Scalable painting of a Qt application

我正在编写嵌入式设备屏幕的模拟(其中包含主QWidget上的自定义小部件),虽然屏幕的原始大小为800x600,但我希望能够通过拖动窗口来上下调整它。角。 如果没有使用网格布局和担架(不会向上/向下缩放字体),我该如何完成这种缩放? 我认为解决方案的一部分可能是创建一个QTransform并以某种方式将其注入整个应用程序的QWidget,或其QPaintDevice或QPaintEngine。 我想这样做,而不是在每个自定义小部件中放置QTransform,只需要“主窗口”QWidget。

如果您使用QGraphicsView作为主显示窗口小部件,则可以执行此操作。 QGraphicsScene现在支持小部件作为内容,因此您可以从字面上缩放它们。

我相信另一种方法是为每个小部件重新实现paint(),并在绘制子小部件之前手动设置转换/缩放。

这里有点猜测,因为我没有尝试过......但你可以尝试将顶级小部件放入QGraphicsView然后让QGraphicsView进行缩放。 然后,您可以在QGraphicsView上启用OpenGL,并使其在硬件中进行缩放,以便它很好而且快速。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM