QTreeView的Item添加QProgressBar

本文介绍如何在Qt中使用自定义代理的方式实现QTreeView或QTableView中的单元格显示进度条,通过重写QItemDelegate类来达到目的。

原理请查qt 的帮助

直接上代码:

#include <QApplication> #include <QLineEdit> #include <qDebug> #include <QTime> #include <QTreeWidget> #include <QStringList> #include <QItemDelegate> #include <QProgressBar> class ImageDelegate : public QItemDelegate { public: ImageDelegate(QObject *parent = 0):QItemDelegate(parent){}; QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { QProgressBar *progress = new QProgressBar(parent); progress->setValue(20); return progress; }; }; int main(int argc, char *argv[]) { QApplication a(argc, argv); QTreeWidget tree; tree.setColumnCount(1); tree.setHeaderLabels(QStringList() << "colum"); tree.setItemDelegate(new ImageDelegate(&tree)); QTreeWidgetItem *item1 = new QTreeWidgetItem(&tree); tree.openPersistentEditor(item1); QTreeWidgetItem *item2 = new QTreeWidgetItem(&tree); item2->setText(0, "aaaa"); tree.show(); return a.exec(); }

版权声明

本文为原创作品,请尊重作者的劳动成果。转载必须保持文章完整性,并以超链接形式注明原始作者“ tingsking18 ”和 主站点 地址,方便其他朋友提问和指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值