首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QTreeView和代表(

QTreeView和代表(
EN

Stack Overflow用户
提问于 2014-04-08 10:32:45
回答 1查看 635关注 0票数 0
代码语言:javascript
复制
class TimeLineDelegate : public QItemDelegate
{
Q_OBJECT
public:
TimeLineDelegate(QObject *o):QItemDelegate(o){}
void paint(QPainter *painter, const QStyleOptionViewItem &option,
    const QModelIndex &index);
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index);
};

我为自定义绘图QTreeWidget或QTreeView创建了此委托,但它不起作用,例如,使用QTreeWidget和QTreeView时,不调用TimeLineDelegate::paint

代码语言:javascript
复制
QTreeView *myView = new QTreeView();
TimeLineDelegate *delegat = new TimeLineDelegate(myView);
myView->setItemDelegate(new TimeLineDelegate(this));

QStandardItemModel *myModel = new QStandardItemModel();
QStandardItem *parentItem = myModel->invisibleRootItem();
for (int i = 0; i < 4; ++i) {
    QStandardItem *item = new QStandardItem(
        QString("item %0").arg(i));
    parentItem->appendRow(item);
    if (i == 0)
        parentItem = item;
    else {
        item->setData(34);
    }}
    myView->setModel(myModel);

    myView->show();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-08 10:52:43

您忘记了const方法的说明符。请参阅全签名

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22934380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档