mirror of
https://gitee.com/spark-store-project/spark-store
synced 2026-03-25 23:09:44 +08:00
Restore Patches
This commit is contained in:
@@ -1,16 +1,19 @@
|
|||||||
#include "image_show.h"
|
#include "image_show.h"
|
||||||
|
|
||||||
|
#include <QScreen> // Qt5 不再建议使用 QDesktopWidget
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QDebug>
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
|
|
||||||
#include <DDialog>
|
#include <DDialog>
|
||||||
#include <DBlurEffectWidget>
|
#include <DBlurEffectWidget>
|
||||||
#include <DWidgetUtil>
|
#include <DWidgetUtil>
|
||||||
#include <DApplication>
|
#include <DApplication>
|
||||||
#include <QDesktopWidget>
|
|
||||||
DWIDGET_USE_NAMESPACE
|
DWIDGET_USE_NAMESPACE
|
||||||
|
|
||||||
image_show::image_show(QWidget *parent) : QWidget(parent)
|
image_show::image_show(QWidget *parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
QHBoxLayout *layout=new QHBoxLayout;
|
QHBoxLayout *layout = new QHBoxLayout;
|
||||||
layout->addWidget(m_label);
|
layout->addWidget(m_label);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
m_label->setText("layout");
|
m_label->setText("layout");
|
||||||
@@ -19,17 +22,23 @@ image_show::image_show(QWidget *parent) : QWidget(parent)
|
|||||||
void image_show::setImage(QPixmap image)
|
void image_show::setImage(QPixmap image)
|
||||||
{
|
{
|
||||||
QImage screen0;
|
QImage screen0;
|
||||||
screen0=image.toImage();
|
screen0 = image.toImage();
|
||||||
// QPainter painter(&screen0);
|
// QPainter painter(&screen0);
|
||||||
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);
|
||||||
desktop_w=DApplication::desktop()->width();
|
|
||||||
desktop_h=DApplication::desktop()->height();
|
// 获取主屏幕尺寸
|
||||||
if(screen0.width()>(desktop_w-20) || screen0.height()>(desktop_h-20)){
|
desktop_w = DApplication::primaryScreen()->geometry().width();
|
||||||
re_screen1=screen0.scaled(QSize(desktop_w-20,desktop_h-20),Qt::KeepAspectRatio,Qt::SmoothTransformation);
|
desktop_h = DApplication::primaryScreen()->geometry().height();
|
||||||
m_image=QPixmap::fromImage(re_screen1);
|
|
||||||
}else {
|
if(screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20))
|
||||||
m_image=image;
|
{
|
||||||
|
re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
|
m_image = QPixmap::fromImage(re_screen1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_image = image;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_label->setPixmap(QPixmap::fromImage(re_screen0));
|
m_label->setPixmap(QPixmap::fromImage(re_screen0));
|
||||||
@@ -39,8 +48,10 @@ void image_show::mousePressEvent(QMouseEvent *)
|
|||||||
{
|
{
|
||||||
m_dialog->setimage(m_image);
|
m_dialog->setimage(m_image);
|
||||||
m_dialog->showFullScreen();
|
m_dialog->showFullScreen();
|
||||||
m_dialog->setFixedSize(desktop_w,desktop_h);
|
|
||||||
m_dialog->move(0,0);/*
|
|
||||||
moveToCenter(m_dialog);*/
|
|
||||||
|
|
||||||
|
// 识别主屏幕尺寸并设置 widget 大小
|
||||||
|
m_dialog->setFixedSize(desktop_w, desktop_h);
|
||||||
|
|
||||||
|
m_dialog->move(0,0);
|
||||||
|
// moveToCenter(m_dialog);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user