博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义listwidget实现
阅读量:5801 次
发布时间:2019-06-18

本文共 1675 字,大约阅读时间需要 5 分钟。

hot3.png

165412_DNFV_1430402.jpg

 

 

代码如下:

 

#ifndef _CLASSIFYLISTWIDGET_H_

#define _CLASSIFYLISTWIDGET_H_
#include <QtGui>
class ClassifyListalbum;
class ClassifyListItem;
class ClassifyListWidget : public QListWidget
{
Q_OBJECT
public:
ClassifyListWidget(QWidget* parent);
void addTopItem(ClassifyListalbum* item);
int getTopItemRow(ClassifyListalbum* album);
bool isTopItem(ClassifyListalbum* album);
public slots:
void classifyitemClicked(QListWidgetItem *item);
void currentItemChangedSlot(QListWidgetItem *current, QListWidgetItem *previous);
protected:
private:
QList<ClassifyListalbum*> m_topLevelItems;
QListWidgetItem* m_currentItem;
};
class ClassifyListalbum : public QListWidgetItem
{
public:
ClassifyListalbum(QListWidget* parent = NULL);
public:
void expandItem();
void collapseItem();
void addchild(ClassifyListItem* item);
int childcount();
bool isExpanded();
ClassifyListItem* child(int i);
private:
QList<ClassifyListItem*> m_children;
bool m_bExpanded;
bool m_bIsSelected;
};
class ClassifyListItem : public QListWidgetItem
{
public:
ClassifyListItem(QListWidget* parent = NULL);
public:
bool getExpanded();
void setSel(bool sel);
private:
bool m_bExpanded;
bool m_bIsSelected;
};
class playlistdelegate : public QItemDelegate
{
Q_OBJECT
public:
  /**
    * @brief This only passes throught ot the QItemdelegate-Constructor
    */
  playlistdelegate(QObject *parent);
  /**
  *@brief This does the paint of the text on two lines if there is a <br> in the text
  */
  void paint ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const;
  QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
};
#endif

转载于:https://my.oschina.net/u/1430402/blog/203004

你可能感兴趣的文章
jQuery 浮动标签插件,帮助你提升表单用户体验
查看>>
用LR录制文件下载并随机产生文件名
查看>>
C/C++ 用libcurl库进行http通讯网络编程
查看>>
内联汇编
查看>>
(剑指Offer)面试题35:第一个只出现一次的字符
查看>>
Xilinx与Altera的FPGA基本结构
查看>>
很不错的文章---【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群
查看>>
svn 使用(一个)
查看>>
AttributeError: 'module' object has no attribute 'Thread'
查看>>
jQuery 常见开发使用技巧总结
查看>>
进程&线程 同步异步&阻塞非阻塞
查看>>
ndroid调用平台功能具体技巧分享
查看>>
hihocoder #1223 : 不等式 水题
查看>>
给应用创建快捷图标
查看>>
hdu 3853 LOOPS(概率 dp 期望)
查看>>
java execute、executeQuery和executeUpdate之间的区别
查看>>
简单方便Git的艰难第一步
查看>>
NOI 评价体系 arbiter 安装方法 常见的问题 移植
查看>>
理解 OpenStack + Ceph (3):Ceph RBD 接口和工具 [Ceph RBD API and Tools]
查看>>
推荐十款超赞的Google Chrome扩展插件
查看>>