qt缩放参考

#include "widget.h"

#include <QApplication>


#include <QObject>
#include <QWidget>
#include <QDesktopWidget>
#include <QMessageBox>
//#include <stdio.h>
//#include <string>
#include "windows.h"
#pragma comment(lib,"User32.lib")
#pragma execution_character_set("utf-8")


int main(int argc, char *argv[])
{



    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);//控制图片缩放质量

    //QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);


    //qreal  cx = QApplication::desktop()->width();
    //QMessageBox::information(nullptr, QString::number(cx),QString::number(cx));
    //qreal scale = cx / 1920;
    //if(scale > 0.7) scale = 1.0;
    //qputenv("QT_SCALE_FACTOR", QString::number(scale).toLatin1());
    //qputenv("QT_SCALE_FACTOR", "1.0");
    //qputenv("QT_ENABLE_HIGHDPI_SCALING", "1");
    //QGuiApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
    //qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1.0");

    QApplication a(argc, argv);

    DEVMODE devmode;
    //memset(&devmode, 0, sizeof (devmode));
    //devmode.dmSize = sizeof(DEVMODE);
    //devmode.dmDriverExtra = 0;
    BOOL  Isgetdisplay = EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &devmode);
    QMessageBox::information(nullptr, "QString::number(devmode.dmPelsWidth)",QString::number(devmode.dmPelsWidth));


    Widget w;
    w.show();
    return a.exec();
}

 

 

posted @ 2022-05-19 15:58  廖先生  阅读(367)  评论(0编辑  收藏  举报