mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-09-18 09:02:21 +08:00
fix: 多显示器大图显示居中
This commit is contained in:
parent
4bdcb2cf3c
commit
6d65b445dd
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"system_error": "cpp"
|
||||||
|
}
|
||||||
|
}
|
@ -22,13 +22,13 @@ void image_show::setImage(QPixmap image)
|
|||||||
QImage re_screen1;
|
QImage re_screen1;
|
||||||
QImage re_screen0 = screen0.scaled(QSize(400, 300), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
QImage re_screen0 = screen0.scaled(QSize(400, 300), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
|
|
||||||
// 获取主屏幕尺寸
|
// 获取当前app所在的主屏幕尺寸
|
||||||
desktop_w = QGuiApplication::primaryScreen()->geometry().width();
|
desktop_w = QGuiApplication::screenAt(QCursor().pos())->geometry().width();
|
||||||
desktop_h = QGuiApplication::primaryScreen()->geometry().height();
|
desktop_h = QGuiApplication::screenAt(QCursor().pos())->geometry().height();
|
||||||
|
|
||||||
if (screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20))
|
if (screen0.width() > int(desktop_w / 3 * 2) || screen0.height() > int(desktop_h / 3 * 2))
|
||||||
{
|
{
|
||||||
re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
re_screen1 = screen0.scaled(QSize(int(desktop_w / 3 * 2), int(desktop_h / 3 * 2)), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
m_image = QPixmap::fromImage(re_screen1);
|
m_image = QPixmap::fromImage(re_screen1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -42,12 +42,12 @@ void image_show::setImage(QPixmap image)
|
|||||||
void image_show::mousePressEvent(QMouseEvent *)
|
void image_show::mousePressEvent(QMouseEvent *)
|
||||||
{
|
{
|
||||||
m_dialog->setimage(m_image);
|
m_dialog->setimage(m_image);
|
||||||
m_dialog->showFullScreen();
|
m_dialog->show();
|
||||||
|
|
||||||
// 识别主屏幕尺寸并设置 widget 大小
|
// 识别主屏幕尺寸并设置 widget 大小
|
||||||
m_dialog->setFixedSize(desktop_w, desktop_h);
|
m_dialog->setFixedSize(qMin(desktop_w, m_image.width() + int(desktop_h / 16 * m_image.width() / m_image.height())), qMin(desktop_h, m_image.height() + int(desktop_h / 16)));
|
||||||
|
|
||||||
m_dialog->move(0, 0);
|
m_dialog->move(QGuiApplication::screenAt(QCursor().pos())->geometry().center() - m_dialog->rect().center());
|
||||||
}
|
}
|
||||||
image_show::~image_show()
|
image_show::~image_show()
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user