【发布时间】:2012-02-08 07:21:51
【问题描述】:
我负责一个大型 (100+KLOC) Qt 应用程序,其中包含数十个窗口和数百种不同类型的小部件。
今天,一位用户问我是否有任何方法可以让该应用的某些较大的窗口更适合他的 13 英寸笔记本电脑的显示屏。
当然有办法让窗口更节省空间,重新组织 GUI 以允许更多地显示/隐藏各种事物,使用更小的字体等等......但我认为他真正想要的是一种简单地将整个窗口统一缩小一定百分比的方法....类似于 Apple 的 Expose 所做的或某些 VNC 客户端所做的效果。
所以我的问题是...有没有办法告诉 Qt 将整个窗口缩小 x%,而 不 涉及修改/重新设计大部分代码库?我知道 QPainter 有一个 setScale() 方法,并且 QGraphicsView 允许很好的全局缩放,但是我的应用程序属于 QWidgets 的层次结构,所以我需要一种方法来缩放整个层次结构,而不仅仅是在特定 QWidget 的画布。
【问题讨论】:
-
我不知道这是否是一个选项,但他们可以在 VirtualBox 中运行您的应用程序,然后使用 VirtualBox 的缩放功能使其成为他们需要的任何大小。
标签: qt resolution-independence