Qt总是说我的屏幕尺寸是0

时间:2016-03-30 16:24:25

标签: c++ qt

我有一个应用程序,我正在尝试全屏显示。我在其他帖子上看到,如果我在代码中做了什么,它应该给我一个大小的屏幕。

double MainSpace::getScopeX(paintBox* window){
  QDesktopWidget temp;
  QRect size = temp.screenGeometry(window);
  return size.width() * window->scale;
}

我有一个窗口,其值会发生变化(缩放),所以我传递了一个指针。

然后我使用QDesktopWidget :: screenGeometry()来获取窗口的屏幕几何,但width()和height()方法总是返回0!我想也许屏幕在屏幕上不存在所以也许它返回0因为那里什么都没有,但是screenCount()成功返回1,所以我不知道发生了什么。为什么我的方法总是返回0?

2 个答案:

答案 0 :(得分:2)

这要容易得多。全屏是一面旗帜。您可以按如下方式进行设置:

my_widget->setWindowState(Qt::WindowFullScreen);

答案 1 :(得分:1)

您只需拨打showFullScreen() show()即可以全屏模式打开主窗口:

#include "MainWindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.showFullScreen();

    return a.exec();
}

无需手动操作。