【问题标题】:Auto resizing qt application. (main window)自动调整 qt 应用程序的大小。 (主窗口)
【发布时间】:2014-09-13 20:11:28
【问题描述】:

我最近开始使用 qt 进行开发,目前进展顺利。现在我的问题是:我可以根据我的屏幕分辨率自动调整 qt 应用程序的大小吗?比如说,我有一个为 1366 x 768 设计的主窗口。它适用于一个系统。在将它移植到另一个支持 1280 x 800 或 800 x 600 的系统时,有没有简单的方法可以做到这一点?不改变创作者的 UI 设计?

感谢您对此提供的任何帮助。

提前致谢。

【问题讨论】:

    标签: c++ qt qt4


    【解决方案1】:

    试试这个(比如放在mainWindow的构造函数中)

    this->showMaximized();
    

    无论如何,您都可以使用以下代码简单地获取当前屏幕的分辨率:

    qDebug() << QApplication::desktop()->size();
    

    QWidgetresize() 方法。 QMainWindow 继承了QWidget,因此您可以在主窗口中使用resize()

    【讨论】:

    • 在 QMainWindow 构造函数中使用调整大小是否也有助于该窗口中的所有组件?
    • @dastaan​​ 你的问题是关于根据屏幕大小调整窗口大小,我已经写了答案。如果您希望 mainWindow 包含的所有小部件都将根据 mainWindow 的新大小自动调整大小,您应该使用 QLayout。此类是为此目的而创建的。您可以在 Qt Designer 中创建布局,也可以自己编写。
    【解决方案2】:

    Qt(和许多其他 UI 工具包)使用布局管理器解决自动调整大小问题,这取决于您如何设计 UI 以选择布局或混合它们。见http://qt-project.org/doc/qt-4.8/layout.html

    【讨论】:

    • 谢谢。布局是值得的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-12
    • 1970-01-01
    • 2011-02-03
    • 2018-03-15
    • 2017-01-20
    • 2011-04-24
    • 2011-09-26
    相关资源
    最近更新 更多