我有一张启动屏幕图片,使用splash.showFullScreen()来显示,但是它没有调整到屏幕分辨率大小,所以无论在哪个显示器上都会出现平铺或者过大的情况。我已经尝试了我能想到的所有方法,但是都没有效果。这可能听起来像一个愚蠢的问题,但我找不到答案,所以如果有人能帮我解决这个问题就好了。如果有区别的话,我使用了一个QPixmap命名的pixmap作为启动图片。顺便说一下,我想让这张图片被拉伸到屏幕分辨率。
我有一张启动屏幕图片,使用splash.showFullScreen()来显示,但是它没有调整到屏幕分辨率大小,所以无论在哪个显示器上都会出现平铺或者过大的情况。我已经尝试了我能想到的所有方法,但是都没有效果。这可能听起来像一个愚蠢的问题,但我找不到答案,所以如果有人能帮我解决这个问题就好了。如果有区别的话,我使用了一个QPixmap命名的pixmap作为启动图片。顺便说一下,我想让这张图片被拉伸到屏幕分辨率。
您可以尝试以下内容:
QDesktopWidget* desktopWidget = qApp->desktop();
QRect screenGeometry = desktopWidget->screenGeometry();
int screenWidth = screenGeometry.width();
int screenHeight = screenGeometry.height();
QPixmap pixmapForSplash = yourPixmap.scaled(screenWidth, screenHeight);
QSplashScreen splashScreen(pixmapForSplash);
对不起,我无法检查这个,因为我在这台电脑上没有开发环境...希望它是正确的。
showFullScreen()
显示QSplashScreen
已经将QSplashScreen
小部件的大小设置为屏幕大小。 - Arnold SpenceQDesktopWidget::availableGeometry
方法获取可用桌面大小,并按其大小调用 resize()
方法来设置闪屏窗口的大小。可以使用 QApplication::desktop()
函数获取 QDesktopWidget
的实例。
slpashScreen.resize(QApplication::desktop()->avaiableGeometry().size());
showFullScreen()
显示QSplashScreen
已经将QSplashScreen
小部件的大小设置为屏幕大小。 - Arnold Spenceresize
无法达到预期效果,在这种情况下,可以使用QDesktopWidget::availableGeometry
。 - TejendraQSplashScreen
,但它似乎具有一些方便的功能,用于典型的启动屏幕行为。不过,它仍然是一个QWidget
,所以我建议只需添加一个布局,并在其中添加一个QLabel
。然后设置标签中的像素图,并将标签设置为缩放其内容。 - Arnold Spence