mirror of
				https://gitee.com/spark-store-project/spark-store
				synced 2025-11-04 16:22:19 +08:00 
			
		
		
		
	重写了截图查看窗口
This commit is contained in:
		
							parent
							
								
									101a6bc370
								
							
						
					
					
						commit
						114489c3d6
					
				
							
								
								
									
										31
									
								
								big_image.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								big_image.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
#include "big_image.h"
 | 
			
		||||
#include <QHBoxLayout>
 | 
			
		||||
big_image::big_image(DBlurEffectWidget *parent) : DBlurEffectWidget(parent)
 | 
			
		||||
{
 | 
			
		||||
//    m_image->setParent(this);
 | 
			
		||||
    QHBoxLayout *layout=new QHBoxLayout;
 | 
			
		||||
    setLayout(layout);
 | 
			
		||||
    layout->addWidget(m_image);
 | 
			
		||||
    layout->setMargin(0);
 | 
			
		||||
    m_image->setAlignment(Qt::AlignCenter);
 | 
			
		||||
    m_image->setMaximumSize(1024,768);
 | 
			
		||||
    setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint);//设置图片对话框总在最前
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void big_image::mousePressEvent(QMouseEvent *)
 | 
			
		||||
{
 | 
			
		||||
    hide();
 | 
			
		||||
    m_image->clear();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void big_image::setimage(QPixmap image)
 | 
			
		||||
{
 | 
			
		||||
    m_image->setPixmap(image);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void big_image::focusOutEvent(QFocusEvent *)
 | 
			
		||||
{
 | 
			
		||||
    hide();
 | 
			
		||||
    m_image->clear();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										25
									
								
								big_image.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								big_image.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
			
		||||
#ifndef BIG_IMAGE_H
 | 
			
		||||
#define BIG_IMAGE_H
 | 
			
		||||
 | 
			
		||||
#include <QWidget>
 | 
			
		||||
#include <DBlurEffectWidget>
 | 
			
		||||
#include <QMouseEvent>
 | 
			
		||||
#include <QLabel>
 | 
			
		||||
DWIDGET_USE_NAMESPACE
 | 
			
		||||
 | 
			
		||||
class big_image : public DBlurEffectWidget
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
public:
 | 
			
		||||
    explicit big_image(DBlurEffectWidget *parent = nullptr);
 | 
			
		||||
    void mousePressEvent(QMouseEvent *event);
 | 
			
		||||
    QLabel *m_image=new QLabel;
 | 
			
		||||
    void setimage(QPixmap);
 | 
			
		||||
    void focusOutEvent(QFocusEvent *event);
 | 
			
		||||
 | 
			
		||||
signals:
 | 
			
		||||
 | 
			
		||||
public slots:
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // BIG_IMAGE_H
 | 
			
		||||
@ -3,6 +3,8 @@
 | 
			
		||||
#include <QDebug>
 | 
			
		||||
#include <QPainter>
 | 
			
		||||
#include <DDialog>
 | 
			
		||||
#include <DBlurEffectWidget>
 | 
			
		||||
#include <DWidgetUtil>
 | 
			
		||||
DWIDGET_USE_NAMESPACE
 | 
			
		||||
image_show::image_show(QWidget *parent) : QWidget(parent)
 | 
			
		||||
{
 | 
			
		||||
@ -10,7 +12,6 @@ image_show::image_show(QWidget *parent) : QWidget(parent)
 | 
			
		||||
    layout->addWidget(m_label);
 | 
			
		||||
    setLayout(layout);
 | 
			
		||||
    m_label->setText("layout");
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void image_show::setImage(QPixmap image)
 | 
			
		||||
@ -35,14 +36,8 @@ void image_show::setImage(QPixmap image)
 | 
			
		||||
 | 
			
		||||
void image_show::mousePressEvent(QMouseEvent *)
 | 
			
		||||
{
 | 
			
		||||
    image.setPixmap(m_image);
 | 
			
		||||
    m_dialog->setTitle("截图预览");
 | 
			
		||||
    image.setAlignment(Qt::AlignCenter);
 | 
			
		||||
    m_dialog->layout()->addWidget(&image);
 | 
			
		||||
    m_dialog->layout()->setMargin(10);
 | 
			
		||||
    image.setMaximumSize(1024,768);
 | 
			
		||||
    m_dialog->setWindowFlags(m_dialog->windowFlags() | Qt::WindowStaysOnTopHint);//设置图片对话框总在最前
 | 
			
		||||
    image.show();
 | 
			
		||||
    m_dialog->hide();
 | 
			
		||||
    m_dialog->exec();
 | 
			
		||||
   m_dialog->setimage(m_image);
 | 
			
		||||
   m_dialog->show();
 | 
			
		||||
   moveToCenter(m_dialog);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,8 @@
 | 
			
		||||
#include <QLabel>
 | 
			
		||||
#include <QPixmap>
 | 
			
		||||
#include <DDialog>
 | 
			
		||||
 | 
			
		||||
#include <DBlurEffectWidget>
 | 
			
		||||
#include <big_image.h>
 | 
			
		||||
DWIDGET_USE_NAMESPACE
 | 
			
		||||
class image_show : public QWidget
 | 
			
		||||
{
 | 
			
		||||
@ -19,7 +20,7 @@ private:
 | 
			
		||||
    QLabel *m_label=new QLabel;
 | 
			
		||||
    QPixmap m_image;
 | 
			
		||||
    QLabel image;
 | 
			
		||||
    DDialog *m_dialog=new DDialog;
 | 
			
		||||
    big_image *m_dialog=new big_image;
 | 
			
		||||
    void mousePressEvent(QMouseEvent *event);
 | 
			
		||||
signals:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -27,12 +27,14 @@ SOURCES += main.cpp\
 | 
			
		||||
        mainwindow.cpp \
 | 
			
		||||
    widget.cpp \
 | 
			
		||||
    downloadlist.cpp \
 | 
			
		||||
    image_show.cpp
 | 
			
		||||
    image_show.cpp \
 | 
			
		||||
    big_image.cpp
 | 
			
		||||
 | 
			
		||||
HEADERS  += mainwindow.h \
 | 
			
		||||
    widget.h \
 | 
			
		||||
    downloadlist.h \
 | 
			
		||||
    image_show.h
 | 
			
		||||
    image_show.h \
 | 
			
		||||
    big_image.h
 | 
			
		||||
 | 
			
		||||
CONFIG += link_pkgconfig
 | 
			
		||||
PKGCONFIG += dtkwidget
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user