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