我已经使用Widgets
模块中的大多数Qt Creator's Designer
开发了我的应用程序。
我有硬编码我的widgets
的大小,具体取决于它们在我的笔记本电脑上的显示方式。昨天当我在桌面上运行应用程序(屏幕分辨率低于笔记本电脑)时,Main Window
widgets
的某些内容并不可见。在启动时有horizontal scrollbar
&我不得不滚动查看那些widgets
;在我的笔记本电脑上并非如此。
我有两个问题:
是否可以使用某些resize factor
来调整我的所有小部件(即使是按代码添加运行时的小部件)?也许在启动时我将获得运行应用程序的硬件的屏幕分辨率&然后创建一个与我的笔记本电脑的分辨率的比率。是否可以将此因子乘以所有小部件,而无需为每个小部件添加代码?
如何获取运行我的应用程序的屏幕的分辨率?
PS:我想知道解决这个问题的事实方法...... 谢谢。
答案 0 :(得分:2)
您应该使用Layouts来管理小部件的大小政策。
Qt布局在空间量时自动定位和调整小部件的大小 可用于他们的变化,确保他们始终如一 安排并且用户界面作为一个整体仍然可用。“
您还可以查看this question以获取有关Qt中布局机制的更多信息。
Qt网站上有关于这个主题的优秀文档。您可以启动here以获取有关在Qt Designer中使用布局的更多信息。
答案 1 :(得分:1)
您可以尝试这样的功能:
调整大小(theDesktop-> screenGeometry()。width()* PERCENTAGE_OF_MONITOR_WIDTH_FOR_SCREEN,theDesktop-> screenGeometry()。height()* PERCENTAGE_OF_MONITOR_HEIGHT_FOR_SCREEN);
Resize是QWidget类的成员函数,PERCENTAGE_OF_MONITOR变量将是您希望应用程序占用的监视器的百分比。
theDesktop属于QDesktopWidget类型。