📄 fileiconview-main-cpp.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Qt Toolkit - fileiconview/main.cpp example file</title><style type="text/css"><!--h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }a:link { color: #004faf; text-decoration: none }a:visited { color: #672967; text-decoration: none }body { background: white; color: black; }--></style></head><body bgcolor="#ffffff"><table width="100%"><tr><td><a href="index.html"><img width="100" height="100" src="qtlogo.png"alt="Home" border="0"><img width="100"height="100" src="face.png" alt="Home" border="0"></a><td valign="top"><div align="right"><img src="dochead.png" width="472" height="27"><br><a href="classes.html"><b>Classes</b></a>- <a href="annotated.html">Annotated</a>- <a href="hierarchy.html">Tree</a>- <a href="functions.html">Functions</a>- <a href="index.html">Home</a>- <a href="topicals.html"><b>Structure</b> <font face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular" align="center" size=32>Qte</font></a></div></table><h1 align=center>Simple Filemanager</h1><br clear="all"> This example implements a simple and not full functional file manager using a widget derived from QIconView to display the current directory and the widget of the DirectoryView example to display the directory tree. <hr> Header file of the fileiconview: <pre>/****************************************************************************** $Id: qt/examples/fileiconview/qfileiconview.h 2.3.8 edited 2004-05-12 $**** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.**** This file is part of an example program for Qt. This example** program may be used, distributed and modified without limitation.*******************************************************************************/#ifndef QTFILEICONVIEW_H#define QTFILEICONVIEW_H#include <<a href="qiconset-h.html">qiconset.h</a>>#include <<a href="qstring-h.html">qstring.h</a>>#include <<a href="qfileinfo-h.html">qfileinfo.h</a>>#include <<a href="qdir-h.html">qdir.h</a>>#include <<a href="qtimer-h.html">qtimer.h</a>>#include <<a href="qiconview-h.html">qiconview.h</a>>class QtFileIconView;class QDragObject;class QResizeEvent;/***************************************************************************** * * Class QtFileIconDrag * *****************************************************************************/class QtFileIconDrag : public QIconDrag{ Q_OBJECTpublic: QtFileIconDrag( <a href="qwidget.html">QWidget</a> * dragSource, const char* name = 0 ); const char* format( int i ) const; <a href="qbytearray.html">QByteArray</a> encodedData( const char* mime ) const; static bool canDecode( <a href="qmimesource.html">QMimeSource</a>* e ); void append( const QIconDragItem &item, const QRect &pr, const QRect &tr, const QString &url );private: <a href="qstringlist.html">QStringList</a> urls;};/***************************************************************************** * * Class QtFileIconView * *****************************************************************************/class QtFileIconViewItem;class QtFileIconView : public QIconView{ Q_OBJECTpublic: QtFileIconView( const QString &dir, QWidget *parent = 0, const char *name = 0 ); enum ViewMode { Large, Small }; void setViewMode( ViewMode m ); ViewMode viewMode() const { return vm; } void setOpenItem( QtFileIconViewItem *i ) { openItem = i; }public slots: void setDirectory( const QString &dir ); void setDirectory( const QDir &dir ); void newDirectory(); <a href="qdir.html">QDir</a> currentDir();signals: void directoryChanged( const QString & ); void startReadDir( int dirs ); void readNextDir(); void readDirDone(); void enableUp(); void disableUp(); void enableMkdir(); void disableMkdir();protected slots: void itemDoubleClicked( <a href="qiconviewitem.html">QIconViewItem</a> *i ); void slotDropped( <a href="qdropevent.html">QDropEvent</a> *e, const QValueList<<a href="qicondragitem.html">QIconDragItem</a>> & ); void viewLarge(); void viewSmall(); void viewBottom(); void viewRight(); void flowEast(); void flowSouth(); void itemTextTruncate(); void itemTextWordWrap(); void sortAscending(); void sortDescending(); void arrangeItemsInGrid() { <a href="qiconview.html#9fb7be">QIconView::arrangeItemsInGrid</a>( TRUE ); } void slotRightPressed( <a href="qiconviewitem.html">QIconViewItem</a> *item ); void openFolder();protected: void readDir( const QDir &dir ); virtual QDragObject *dragObject(); virtual void keyPressEvent( <a href="qkeyevent.html">QKeyEvent</a> *e ); <a href="qdir.html">QDir</a> viewDir; int newFolderNum; <a href="qsize.html">QSize</a> sz; <a href="qpixmap.html">QPixmap</a> pix; ViewMode vm; QtFileIconViewItem *openItem;};/***************************************************************************** * * Class QtFileIconViewItem * *****************************************************************************/class QtFileIconViewItem : public QIconViewItem{ friend class QtFileIconView;public: enum ItemType { File = 0, Dir, Link }; QtFileIconViewItem( QtFileIconView *parent, QFileInfo *fi ); virtual ~QtFileIconViewItem(); ItemType type() const { return itemType; } <a href="qstring.html">QString</a> filename() const { return itemFileName; } virtual bool acceptDrop( const QMimeSource *e ) const; virtual void setText( const QString &text ); virtual QPixmap *pixmap() const; virtual void dragEntered(); virtual void dragLeft(); void viewModeChanged( QtFileIconView::ViewMode m ); void paintItem( <a href="qpainter.html">QPainter</a> *p, const QColorGroup &cg );protected: virtual void dropped( <a href="qdropevent.html">QDropEvent</a> *e, const QValueList<<a href="qicondragitem.html">QIconDragItem</a>> & ); <a href="qstring.html">QString</a> itemFileName; <a href="qfileinfo.html">QFileInfo</a> *itemFileInfo; ItemType itemType; bool checkSetText; <a href="qtimer.html">QTimer</a> timer; QtFileIconView::ViewMode vm;};#endif</pre> <hr> Implementation of the fileiconview: <pre>/****************************************************************************** $Id: qt/examples/fileiconview/qfileiconview.cpp 2.3.8 edited 2004-05-12 $**** Copyright (C) 1992-2000 Trolltech AS. All rights reserved.**** This file is part of an example program for Qt. This example** program may be used, distributed and modified without limitation.*******************************************************************************/#include "qfileiconview.h"#include <<a href="qstringlist-h.html">qstringlist.h</a>>#include <<a href="qpixmap-h.html">qpixmap.h</a>>#include <<a href="qmime-h.html">qmime.h</a>>#include <<a href="qstrlist-h.html">qstrlist.h</a>>#include <<a href="qdragobject-h.html">qdragobject.h</a>>#include <<a href="qmessagebox-h.html">qmessagebox.h</a>>#include <<a href="qevent-h.html">qevent.h</a>>#include <<a href="qpopupmenu-h.html">qpopupmenu.h</a>>#include <<a href="qcursor-h.html">qcursor.h</a>>#include <<a href="qapplication-h.html">qapplication.h</a>>#include <<a href="qwmatrix-h.html">qwmatrix.h</a>>#include <stdlib.h>static const char * file_icon[]={ "32 32 17 1", "# c #000000", "a c #ffffff", "j c #808080", "n c #a0a0a4", "g c #c0c0c0", "m c #004000", "o c #000000", "l c #004040", "k c #404000", "i c #c0c000", "h c #ffff00", "b c #ffffc0", "e c #ff8000", "f c #c05800", "c c #ffa858", "d c #ffdca8", ". c None", "................................", "................................", "................................", "................................", ".............#....###...........", "...###......#a##.#aba##.........", "..#cdb#....#aaaa#aaaaaa##.......", "..#ecdb#..#aaaa#aaaaaaaba##.....", "..#fecdb##aaaa#aaaaaaaaaaab##...", "...#fecdb#aaa#aaaaaaabaabaaaa##.", "....#fecdb#a#baaaaa#baaaaaabaaa#", ".....#fecdb#aaaaab#a##baaaaaaa#.", ".....##fecdb#bbba#aaaa##baaab#..", "....#bb#fecdb#ba#aaaaaaa##aa#...", "...#bbbb#fecdb##aaabaaaaaa##....", "..#bbbb#b#fecdb#aaaaaaabaaaa##..", ".#bbbb#bbb#fecdg#aaaaaaaaaaaba#.", "#hhbb#bbbbb#fegg#iiaaaaaaaaaaaa#", "#jhhhklibbbk#ggj#aaiiaaaaaaaaa#j", ".#mjhhhkmikab####aaabiiaaaaaa#j.", "...##jhhhmaaibbaaiibaaaiiaab#n..", ".....##j#baaaiiabaaiibaabaa#n...", "......##baibaabiibaaaiiabb#j....", "......#bbbbiiaabbiiaaaaabon.....", ".....#bbbbbbbiiabbaiiaab#n......", ".....#jbbbbbbbbiibaabba#n.......", "......##jbbbbbbbbiiaabmj........", "........##jbbbbbbbbbb#j.........", "..........##nbbbbbbbmj..........", "............##jbbbb#j...........", "..............#mjj#n............", "................##n............."};static const char * folder_icon[]={ "32 32 11 1", "# c #000000", "b c #c0c000", "d c #585858", "a c #ffff00", "i c #400000", "h c #a0a0a4", "e c #000000", "c c #ffffff", "f c #303030", "g c #c0c0c0", ". c None", "...###..........................", "...#aa##........................", ".###baaa##......................", ".#cde#baaa##....................", ".#cccdeebaaa##..##f.............", ".#cccccdeebaaa##aaa##...........", ".#cccccccdeebaaaaaaaa##.........", ".#cccccccccdeebababaaa#.........", ".#cccccgcgghhebbbbbbbaa#........", ".#ccccccgcgggdebbbbbbba#........", ".#cccgcgcgcgghdeebiebbba#.......", ".#ccccgcggggggghdeddeeba#.......", ".#cgcgcgcggggggggghghdebb#......", ".#ccgcggggggggghghghghd#b#......", ".#cgcgcggggggggghghghhd#b#......", ".#gcggggggggghghghhhhhd#b#......", ".#cgcggggggggghghghhhhd#b#......", ".#ggggggggghghghhhhhhhdib#......", ".#gggggggggghghghhhhhhd#b#......", ".#hhggggghghghhhhhhhhhd#b#......", ".#ddhhgggghghghhhhhhhhd#b#......", "..##ddhhghghhhhhhhhhhhdeb#......", "....##ddhhhghhhhhhhhhhd#b#......", "......##ddhhhhhhhhhhhhd#b#......", "........##ddhhhhhhhhhhd#b#......", "..........##ddhhhhhhhhd#b#......", "............##ddhhhhhhd#b###....", "..............##ddhhhhd#b#####..", "................##ddhhd#b######.", "..................##dddeb#####..", "....................##d#b###....", "......................####......"};static const char * link_icon[]={ "32 32 12 1", "# c #000000", "h c #a0a0a4", "b c #c00000", "d c #585858", "i c #400000", "c c #ffffff", "e c #000000", "g c #c0c0c0",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -