C++ Qt总是说我的屏幕大小是0
我有一个应用程序,我正试图使全屏。我在其他帖子上看到,如果我在代码中做了什么,它应该会给出屏幕的大小C++ Qt总是说我的屏幕大小是0,c++,qt,C++,Qt,我有一个应用程序,我正试图使全屏。我在其他帖子上看到,如果我在代码中做了什么,它应该会给出屏幕的大小 double MainSpace::getScopeX(paintBox* window){ QDesktopWidget temp; QRect size = temp.screenGeometry(window); return size.width() * window->scale; } 我有一个窗口,它的值会改变(比例),所以我传递了一个指针 然后我使用QDeskt
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);
这要容易得多。全屏是一面旗帜。您可以按如下方式进行设置:
my_widget->setWindowState(Qt::WindowFullScreen);
只需调用
showFullScreen()
而不是show()
,即可在全屏模式下打开主窗口:
#include "MainWindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.showFullScreen();
return a.exec();
}
#包括“MainWindow.h”
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
主窗口w;
w、 全屏显示();
返回a.exec();
}
无需手动操作。您只需调用
showFullScreen()
以全屏模式打开主窗口即可:
#include "MainWindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.showFullScreen();
return a.exec();
}
#包括“MainWindow.h”
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
主窗口w;
w、 全屏显示();
返回a.exec();
}
无需手动操作。您是否确定
window->scale!=0
?另外,请记住QDesktopWidget需要操作系统特定的调用才能工作。QDesktopWidget支持您的操作系统吗?另外,使用QApplication::desktop()
而不是实例化您自己的实例。在internet上发布问题之前,您应该阅读文档:您是否肯定window->scale!=0
?另外,请记住QDesktopWidget需要操作系统特定的调用才能工作。QDesktopWidget支持您的操作系统吗?另外,使用QApplication::desktop()
而不是实例化您自己的实例。在internet上发布问题之前,您应该阅读文档: