c++ - Qt 总是说我的屏幕尺寸为 0

标签 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?

最佳答案

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

my_widget->setWindowState(Qt::WindowFullScreen);

关于c++ - Qt 总是说我的屏幕尺寸为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36314493/

相关文章:

c++ - 通过基类完美转发

c++ - 运算符重载 : Ostream/Istream

c++ - 在 boost.interprocess 中从共享内存进行 memcpy 的问题

c++ - QCustomPlot 填充连接线

Qt 人工鼠标点击不能正常工作

QTextEdit如何将当前选定的文本行保持在屏幕上的同一位置

c++ - 循环内的迭代器初始化是否被认为是不好的风格,为什么?

c++ - 如何在 QML 中使用模型?

c++ - QAbstractTableModel编辑而不清除单元格中的先前数据

c++ - Qt 4.6 OpenGL GLSL