繁体   English   中英

根据Qt中的硬件调整主窗口大小?

[英]Resize size of Main Window depending on Hardware in Qt?

我在Qt Creator's Designer模块中使用了大多数Widgets开发了我的应用程序。 我根据它们在笔记本电脑上的显示方式对我的widgets的大小进行了硬编码 昨天当我在桌面上运行应用程序(屏幕分辨率低于笔记本电脑)时,一些Main Window widgets不可见,并且在启动时有horizontal scrollbar ,我不得不滚动查看这些widgets ; 在我的笔记本电脑上并非如此。 我有两个问题:

  1. 是否可以通过使用一些resize factor来调整我的所有小部件( 甚至那些通过代码添加运行时的小部件)? 也许在启动时,我将获得运行应用程序的硬件的屏幕分辨率,然后创建与笔记本电脑分辨率的比率。 是否可以将此因子乘以所有小部件而无需为每个小部件添加代码?

  2. 如何获取运行我的应用程序的屏幕的分辨率?

PS:我想知道解决这个问题的事实方法......谢谢。

您应该使用布局来管理窗口小部件的大小策略。

当可用的空间量发生变化时,Qt布局会自动定位和调整窗口小部件的大小,确保它们一致排列,并且整个用户界面仍然可用。

您还可以查看此问题 ,以获取有关Qt中布局机制的更多信息。

Qt网站上有关于这个主题的优秀文档。 您可以从这里开始了解有关在Qt Designer中使用布局的更多信息。

你可以尝试这样的功能:

resize(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类型。

暂无
暂无

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

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