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

📄 istreeitem.cpp

📁 QT下树节点,在QT下实现树节点的功能。测试能正常使用
💻 CPP
字号:
// istreeitem.cpp: implementation of the CISTreeItem class.
//
//////////////////////////////////////////////////////////////////////

#include "istreeitem.h"
#include <qpixmap.h>
static const char* folder_closed_xpm[]={
    "16 16 9 1",
    "g c #808080",
    "b c #c0c000",
    "e c #c0c0c0",
    "# c #000000",
    "c c #ffff00",
    ". c None",
    "a c #585858",
    "f c #a0a0a4",
    "d c #ffffff",
    "..###...........",
    ".#abc##.........",
    ".#daabc#####....",
    ".#ddeaabbccc#...",
    ".#dedeeabbbba...",
    ".#edeeeeaaaab#..",
    ".#deeeeeeefe#ba.",
    ".#eeeeeeefef#ba.",
    ".#eeeeeefeff#ba.",
    ".#eeeeefefff#ba.",
    ".##geefeffff#ba.",
    "...##gefffff#ba.",
    ".....##fffff#ba.",
    ".......##fff#b##",
    ".........##f#b##",
    "...........####."};

static const char* folder_open_xpm[]={
    "16 16 11 1",
    "# c #000000",
    "g c #c0c0c0",
    "e c #303030",
    "a c #ffa858",
    "b c #808080",
    "d c #a0a0a4",
    "f c #585858",
    "c c #ffdca8",
    "h c #dcdcdc",
    "i c #ffffff",
    ". c None",
    "....###.........",
    "....#ab##.......",
    "....#acab####...",
    "###.#acccccca#..",
    "#ddefaaaccccca#.",
    "#bdddbaaaacccab#",
    ".eddddbbaaaacab#",
    ".#bddggdbbaaaab#",
    "..edgdggggbbaab#",
    "..#bgggghghdaab#",
    "...ebhggghicfab#",
    "....#edhhiiidab#",
    "......#egiiicfb#",
    "........#egiibb#",
    "..........#egib#",
    "............#ee#"};

static const char * folder_locked[]={
    "16 16 10 1",
    "h c #808080",
    "b c #ffa858",
    "f c #c0c0c0",
    "e c #c05800",
    "# c #000000",
    "c c #ffdca8",
    ". c None",
    "a c #585858",
    "g c #a0a0a4",
    "d c #ffffff",
    "..#a#...........",
    ".#abc####.......",
    ".#daa#eee#......",
    ".#ddf#e##b#.....",
    ".#dfd#e#bcb##...",
    ".#fdccc#daaab#..",
    ".#dfbbbccgfg#ba.",
    ".#ffb#ebbfgg#ba.",
    ".#ffbbe#bggg#ba.",
    ".#fffbbebggg#ba.",
    ".##hf#ebbggg#ba.",
    "...###e#gggg#ba.",
    ".....#e#gggg#ba.",
    "......###ggg#b##",
    ".........##g#b##",
    "...........####."};

static const char * pix_file []={
    "16 16 7 1",
    "# c #000000",
    "b c #ffffff",
    "e c #000000",
    "d c #404000",
    "c c #c0c000",
    "a c #ffffc0",
    ". c None",
    "................",
    ".........#......",
    "......#.#a##....",
    ".....#b#bbba##..",
    "....#b#bbbabbb#.",
    "...#b#bba##bb#..",
    "..#b#abb#bb##...",
    ".#a#aab#bbbab##.",
    "#a#aaa#bcbbbbbb#",
    "#ccdc#bcbbcbbb#.",
    ".##c#bcbbcabb#..",
    "...#acbacbbbe...",
    "..#aaaacaba#....",
    "...##aaaaa#.....",
    ".....##aa#......",
    ".......##......."};

QPixmap *folderLocked = 0; 
QPixmap *folderClosed = 0;
QPixmap *folderOpen =0;
QPixmap *fileNormal = 0;

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CISTreeItem::CISTreeItem(CISObject* p,QListView *parent, QString label )
            :QListViewItem(parent,label ),m_pPix(0)
{
	m_pObject=p;
	MoveToLast();
}
CISTreeItem::CISTreeItem(CISObject* p,QListViewItem *parent, QString label)
            :QListViewItem(parent,label ),m_pPix(0)
{
	m_pObject=p;
	MoveToLast();
}

CISTreeItem::CISTreeItem(CISObject* p,QListView *parent, QListViewItem *after, QString label)
            :QListViewItem(parent,after,label ),m_pPix(0)
{
	m_pObject=p;
	MoveToLast();
}
CISTreeItem::CISTreeItem(CISObject* p,QListViewItem *parent, QListViewItem *after, QString label)
            :QListViewItem(parent,after,label ),m_pPix(0)
{
	m_pObject=p;
	MoveToLast();
}

CISTreeItem::~CISTreeItem()
{

}
void  CISTreeItem::SetObject(CISObject* p)
{
	m_pObject=p;
}
CISObject* CISTreeItem::GetObject()
{
	return m_pObject;
}
void CISTreeItem::MoveToLast()
{
    CISTreeItem *hTemp = this;
	CISTreeItem *hItem = this;
    while(hItem->nextSibling ()!= 0)
    {
        hTemp = (CISTreeItem*) hItem-> nextSibling();
        hItem = hTemp;
    }
    moveItem (hTemp);	
}

void CISTreeItem::setPixmap( QPixmap *p )
{
	m_pPix = p;
}
void CISTreeItem::setOpen(bool o)
{
	QPixmap *f;
	if ( o )
		f = new QPixmap( folder_open_xpm ); 
    else
		f = new QPixmap( folder_closed_xpm );
	setPixmap( f );
	
	
    QListViewItem::setOpen( o );
}

const QPixmap *CISTreeItem::pixmap( int i ) const
{
    if ( i )
		return 0;
    return m_pPix;
}

⌨️ 快捷键说明

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