我有一个用 splash.showFullScreen() 显示的初始屏幕图像,但它不会根据屏幕分辨率调整大小,因此它要么平铺显示,要么变大,具体取决于显示器。我已经尝试了我能想到的一切,但没有任何效果。这听起来像是一个愚蠢的问题,它可能是但我找不到答案所以如果有任何可以帮助我解决这个问题?如果它有所不同,我使用名为 pixmap 的 QPixmap 作为初始图像。顺便说一下,我希望将图像拉伸(stretch)到屏幕分辨率。
最佳答案
您应该使用 QPixmap::scaled() 将像素图缩放到屏幕大小.您可以通过调用 QDesktopWidget::screenGeometry() 获取屏幕分辨率。 .桌面小部件可以通过QApplication::desktop()获取。 .
你可以尝试这样的事情:
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);
(对不起,我无法检查这个,因为我在这台电脑上没有开发环境......我希望它是正确的。)
关于c++ - Qt 屏幕分辨率启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192489/