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