📄 view.cpp
字号:
#include <qpushbutton.h>#include <zpushbutton.h>#include "view.h"#include <qlabel.h>#include <qmovie.h>#include <qimage.h>QString ChineseAndEnglish(const char*ChineseString);ViewpicDialog::ViewpicDialog(const QString &fn,QWidget *parent ) : ZMainWidget(fn,parent){this->setGeometry(0,0,240,320); sv = new ZScrollView(this); sv->enableClipper(true); sv->setHScrollBarMode(QScrollView::Auto); label = new QLabel(sv->viewport()); QString fname=fn; fname.utf8(); w=QPixmap(fname).width(); h=QPixmap(fname).height(); if (fn.right(3).upper()=="GIF"){ label->resize(w,h); label->setMovie(QMovie(fname)); label->setBackgroundMode(NoBackground); if (w>=240){ sv->addChild(label,0,0); }else{ sv->addChild(label,(240 - w)/2,(320 - h)/2); } }else if(fn.right(3).upper()=="JPG"||fn.right(3).upper()=="JPEG"||fn.right(3).upper()=="BMP") { label->setBackgroundMode(NoBackground); QPixmap pm; QImage image(fname); if (pm.convertFromImage(image.smoothScale(240,320))){ label->setPixmap(pm); label->resize(240,320); if (w>=240){ sv->addChild(label,0,0); }else{ sv->addChild(label,(240 - w)/2,(320 - h)/2); } } }else if(fn.right(3).upper()=="PNG") { //label->setBackgroundMode(NoBackground); //QPixmap pm; label->setPixmap(QPixmap(fname)); label->resize(w,h); if (w>=240){ sv->addChild(label,0,0); }else{ sv->addChild(label,(240 - w)/2,(320 - h)/2); } } sv->resize(240,320);}ViewpicDialog::~ViewpicDialog() { }void ViewpicDialog::closeEvent(QCloseEvent *e){ e->accept(); delete this;}void ViewpicDialog::pwaEvent(){ if (pm.convertFromImage(image.smoothScale(w,h))){ label->setPixmap(pm); label->resize(w,h); }//setContentWidget(sv);sv->resize(240,320);}void ViewpicDialog::keyPressEvent(QKeyEvent *ke){ //ke->ignore();if(ke->key() == Key_Up) { emit keyup(); close(); }if(ke->key() == Key_Down) { emit keydown(); close(); }if(ke->key() == 4100) { close(); }}void ViewpicDialog::mousePressEvent( QMouseEvent *e){if (e->x()>4 &&e->x()<41 && e->y()<20 && e->y()>0){ close(); } sv->addChild(label,30,30); if(isTopLevel()) clickPos = e->pos(); }void ViewpicDialog::mouseMoveEvent( QMouseEvent *e ){if(isTopLevel()) move( e->globalPos() - clickPos ); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -