imgmainwindow.cpp

来自「这是一个自己开发的键盘驱动代码」· C++ 代码 · 共 61 行

CPP
61
字号
#include "imgmainwindow.h"
#include "showimg.h"
#include "../dirview/dirview.h"

#include <qsplitter.h>
#include <qdir.h>
#include <qfileinfo.h>
#include <qvaluelist.h> 
#include <qmessagebox.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qimage.h>

ImgMainWindow::ImgMainWindow()
    : QMainWindow()
{
		QStringList fmt = QImage::inputFormatList();

    QSplitter *splitter = new QSplitter( this, "splitter" );

    dirlist = new DirectoryView( splitter, "dirlist", false, fmt );
    dirlist->addColumn( "Name" );
    dirlist->addColumn( "Type", 70 );
    dirlist->setColumnAlignment( 1, AlignRight );
    dirlist->setColumnWidth( 1, 0 );
    Directory *root = new Directory( dirlist, "/" );
    root->setOpen( true );
    
    setCentralWidget( splitter );
    splitter->setOrientation( Vertical );

    imgview = new ImageViewer( splitter, "img", Qt::WDestructiveClose | Qt::WResizeNoErase );
    imgview->setBackgroundColor( black );
		
    QValueList<int> sizeList;
		sizeList.append( 130 );
		splitter->setSizes( sizeList );
		
		splitter->setResizeMode( dirlist, QSplitter::KeepSize );	

    connect( dirlist, SIGNAL( folderSelected( const QString & ) ),
	     this, SLOT ( resetListDir( const QString & ) ) );
	  connect( dirlist, SIGNAL( fileSelected( const QString &, const QString & ) ),
	     this, SLOT ( loadImg( const QString &, const QString & ) ) );
		connect( imgview, SIGNAL( clicked() ), imgview, SLOT(toggleFullScreen()));
}

void ImgMainWindow::resetListDir( const QString &dir )
{
		dirlist->clear();
    Directory *root = new Directory( dirlist, "/" );
    root->setOpen( true );
    dirlist->setDir( dir );
}

void ImgMainWindow::loadImg( const QString &fn, const QString &img )
{
		imgview->loadImage( img );
		imgview->repaint();
}

⌨️ 快捷键说明

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