qt - 是否可以在不重写代码的情况下重新缩放 Qt GUI?

标签 qt resolution-independence

我负责一个大型 (100+KLOC) Qt 应用程序,其中包含数十个窗口和数百种不同类型的小部件。

今天,一位用户问我是否有任何方法可以让该应用程序的一些较大窗口更适合他的 13 英寸笔记本电脑的显示屏。

当然有办法让窗口更节省空间,重组 GUI 以允许更多地显示/隐藏各种东西,使用更小的字体,等等......但我认为他真正想要的是一种简单地将整个窗口统一缩小一定百分比的方法……类似于 Apple 的 Expose 所做的效果,或者某些 VNC 客户端所做的效果。

所以我的问题是...有什么方法可以告诉 Qt 将整个窗口缩小 x%,涉及修改/重新设计大部分代码库?我知道 QPainter 有一个 setScale() 方法,而 QGraphicsView 允许很好的全局缩放,但我的应用程序是 QWidgets 的层次结构,所以我需要一种方法来缩放整个层次结构,而不仅仅是在特定的 QWidget 中缩放 Canvas 。

最佳答案

使用样式表,您可以修改小部件的边距和间距,您可以将字体更改得更小。其他任何事情都可能需要您重新考虑 UI 设计。

关于qt - 是否可以在不重写代码的情况下重新缩放 Qt GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9189238/

相关文章:

c++ - QVector<QVector int>>修改 "inside"vector

css - 在 CSS 中使用像素不好吗?

wpf - ViewBox 是在 WPF 中实现分辨率独立的最佳选择吗?

svg - 如何创建支持多种像素比的 SVG?

qt - PyQT5 错误 : could not find or load Qt platform plugin xcb

qt - qtquickcompiler 和新的 JIT .qmlc 缓存之间的区别?

c++ - Qt (c++) - 是否可以使用信号从方法返回?

qt - 如何禁用特定的 QML 调试器警告

C# Winform 尺寸因分辨率降低而减小