要在QT界面中将分辨率从1080P切换到4k分辨率,并使用代码进行适配,可以按照以下步骤进行操作:

  1. 获取当前屏幕的分辨率信息:
QScreen *screen = QGuiApplication::primaryScreen();
QRect screenGeometry = screen->geometry();
int screenWidth = screenGeometry.width();
int screenHeight = screenGeometry.height();
  1. 将分辨率切换为4k分辨率:
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); //启用高DPI缩放
QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //使用高DPI像素映射
QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); //设置高DPI缩放因子取整策略

QScreen *screen = QGuiApplication::primaryScreen();
QScreen *newScreen = nullptr;
QList<QScreen*> screens = QGuiApplication::screens();
for (QScreen *s : screens) {
    if (s->geometry().width() >= 3840 && s->geometry().height() >= 2160) { //找到4k分辨率屏幕
        newScreen = s;
        break;
    }
}

if (newScreen) {
    QApplication::setOverrideCursor(Qt::WaitCursor);
    QApplication::desktop()->setScreen(newScreen); //切换至4k分辨率屏幕
    QApplication::setOverrideCursor(Qt::ArrowCursor);
}
  1. 调整界面元素的布局和大小适应新的分辨率:
// 在窗口的构造函数或resizeEvent()中调整布局和大小
int newScreenWidth = newScreen->geometry().width();
int newScreenHeight = newScreen->geometry().height();

// 调整窗口大小
this->resize(newScreenWidth, newScreenHeight);

// 根据新的分辨率重新布局和调整界面元素的大小
// 例如,使用布局管理器重新布局窗口中的部件

通过以上步骤,可以在QT界面中将分辨率从1080P切换到4k分辨率,并使用代码进行适配

QT界面1080P分辨率切换为4k分辨率以后怎么用代码去适配

原文地址: https://www.cveoy.top/t/topic/iehS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录