⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mywindow.cpp

📁 使用linux 下QT编出图片查看器,有目录查找的
💻 CPP
字号:
#include<qaction.h>#include <qlabel.h>#include<qapplication.h>#include <qhbox.h>#include<qmenubar.h>#include<qpopupmenu.h>#include<qstatusbar.h>#include<qmainwindow.h>#include<qimage.h>#include<qfiledialog.h>#include<qmessagebox.h>#include<qpixmap.h>#include"mywindow.h"Mywindow::Mywindow(QWidget *parent, const char *name)	:QMainWindow(parent,name){//dir	QHBox *hbox = new QHBox(this);		mw = new DirectoryView(hbox);	mw->addColumn("Name");	mw->addColumn("Type");	mw->setTreeStepSize(20);		const QFileInfoList* roots =QDir::drives();	QPtrListIterator<QFileInfo> i(*roots);	QFileInfo* fi;	while ((fi=*i)){	++i;	Directory* root =new Directory(mw,fi->filePath());	if(roots->count() <=1)		root->setOpen(TRUE);	}	mw->resize(400,400);	mw->setCaption(" mywindow -s -dir");	mw->setAllColumnsShowFocus(TRUE);	 label=new QLabel(hbox); label->setPixmap(QPixmap("images/May.jpg"));setCentralWidget(hbox);	 createActions();	 createMenus();	 createToolBars();	 createStatusBar();fileMenu=new QPopupMenu;	setCaption(tr("Picture viewer"));	setIcon(QPixmap::fromMimeSource( "ttttppppp "));		connect(mw,SIGNAL(fileSelected(const QString &)),this,SLOT(listOpen(const QString &)));}void Mywindow::open()//file{	fileName=QFileDialog::getOpenFileName("/",tr("*.jpg\n*.png"),this);	resume();}void Mywindow::close(){	}void Mywindow::exit(){}void Mywindow::listOpen(const QString & file){	if(file.right(4)==".jpg")	{	fileName=file;	resume();	}}void Mywindow::zoomIn()//tools{		int w,h;	if(scale<10)	return;	map=QImage(fileName);	scale-=10;	h=map.height()*scale/100;	w=map.width()*scale/100;	QImage tmp=map.smoothScale(w,h);	label->setPixmap(tmp);	statusLabel->setText(fileName+QString("%1% %2 x%3").arg(scale).arg(w).arg(h));	setMaximumSize(label->sizeHint());}void Mywindow::zoomOut(){	int w,h;	if(scale>290)	return;	map=QImage(fileName);	scale+=10;	h=map.height()*scale/100;	w=map.width()*scale/100;	QImage tmp=map.smoothScale(w,h);	label->setPixmap(tmp);  statusLabel->setText(fileName+QString(" %1% %2 x%3").arg(scale).arg(w).arg(h));	setMaximumSize(label->sizeHint());}void Mywindow::resume(){	if(!fileName.isEmpty())	{	scale=100;	label->setPixmap(QPixmap(fileName));	statusLabel->setText(fileName +QString(" %1%").arg(scale));	}}void Mywindow::about()// about{   	QMessageBox::about(this,tr("About, Image vier"),"dddddddddddddddd" );}void Mywindow::aboutQt(){	QMessageBox::aboutQt(this,tr("Qt Themes Example"));}void Mywindow::createActions(){			openAct=new QAction(tr("open"),tr("&open"),QKeySequence(tr("Ctrl+N")),this);	openAct->setIconSet(QPixmap::fromMimeSource("images/open.png"));	openAct->setStatusTip(tr(""));	connect(openAct,SIGNAL(activated()),this,SLOT( open()));	closeAct=new QAction(tr("close"),tr("&close"),QKeySequence(tr("b")),this);	closeAct->setIconSet(QPixmap::fromMimeSource("images/close.png"));	closeAct->setStatusTip(tr(""));	connect(closeAct,SIGNAL(activated()),this,SLOT( close()));		exitAct=new QAction(tr("exit"),tr("&close"),QKeySequence(tr("")),this);	exitAct->setIconSet(QPixmap::fromMimeSource("images/cut.png"));	exitAct->setStatusTip(tr(""));	connect(exitAct,SIGNAL(activated()),this,SLOT( exit()));	zoomInAct=new QAction(tr("zoomIn"),tr("&zoomIn"),QKeySequence(tr("")),this);	zoomInAct->setIconSet(QPixmap::fromMimeSource("images/zoomin.png"));	zoomInAct->setStatusTip(tr(""));	connect(zoomInAct,SIGNAL(activated()),this,SLOT(  zoomIn()));	zoomOutAct=new QAction(tr("zoomOut"),tr("&zoomOut"),QKeySequence(tr("")),this);	zoomOutAct->setIconSet(QPixmap::fromMimeSource("images/zoomout.png"));	zoomOutAct->setStatusTip(tr(""));	connect(zoomOutAct,SIGNAL(activated()),this,SLOT(  zoomOut()));	resumeAct=new QAction(tr("resume"),tr("&resume"),QKeySequence(tr("")),this);	resumeAct->setIconSet(QPixmap::fromMimeSource("images/resume.png"));	resumeAct->setStatusTip(tr(""));	connect(resumeAct,SIGNAL(activated()),this,SLOT(  resume()));	aboutImageViewAct=new QAction(tr("aboutImage"),tr("&aboutImage"),QKeySequence(tr("")),this);	aboutImageViewAct->setIconSet(QPixmap::fromMimeSource("images/new.png"));	aboutImageViewAct->setStatusTip(tr(""));	connect(aboutImageViewAct,SIGNAL( activated()),this,SLOT(  about()));	aboutQtAct=new QAction(tr("aboutQt"),tr("&aboutQt"),QKeySequence(tr("")),this);	aboutQtAct->setIconSet(QPixmap::fromMimeSource("images/paste.png"));	aboutQtAct->setStatusTip(tr(""));	connect(aboutQtAct,SIGNAL( activated()),this,SLOT(  aboutQt()));}void Mywindow::createMenus(){		fileMenu=new QPopupMenu(this);	openAct->addTo(fileMenu);	closeAct->addTo(fileMenu);	exitAct->addTo(fileMenu);	toolsMenu=new QPopupMenu(this);	zoomInAct->addTo(toolsMenu);		zoomOutAct->addTo(toolsMenu);	resumeAct->addTo(toolsMenu);		aboutMenu=new QPopupMenu(this);	aboutImageViewAct->addTo(aboutMenu);	aboutQtAct->addTo(aboutMenu);		menuBar()->insertItem("&File", fileMenu);	menuBar()->insertItem("&Tools", toolsMenu);	menuBar()->insertItem("&Help", aboutMenu);}	void Mywindow::createToolBars(){	fileToolBar=new QToolBar(tr(""),this);	openAct->addTo(fileToolBar);	closeAct->addTo(fileToolBar);			toolsToolBar=new QToolBar(tr(""),this);	zoomInAct->addTo(toolsToolBar);	zoomOutAct->addTo(toolsToolBar);		resumeAct->addTo(toolsToolBar);    toolsToolBar->addSeparator();	}void Mywindow::createStatusBar(){	statusLabel=new QLabel("999",this);	statusLabel->setAlignment(AlignHCenter);	statusLabel->setMinimumSize(statusLabel->sizeHint());		statusBar()->addWidget(statusLabel);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -