当前位置:网站首页>QListWidgetItem上附加widget
QListWidgetItem上附加widget
2022-06-27 05:33:00 【opera321】
1、附加widget不显示
这两句不能颠倒:
listWidget>addItem(newItem);
listWidget->setItemWidget(newItem, itemWidget);
2、附加widget位置发生偏移
QListWidget在动态增加item的方式下,为item附加的widget可能会发生位置偏移。
解决方法是关联一个委托,这个委托并不需要和附加widget有关系,只需要重载updateEditorGeometry函数即可。
XItemDelegate.h
#ifndef XITEMDELEGATE_H
#define XITEMDELEGATE_H
#include <QStyledItemDelegate>
class XItemDelegate : public QStyledItemDelegate
{
Q_OBJECT
public:
explicit XItemDelegate(QWidget *parent = nullptr);
virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const;
signals:
public slots:
};
#endif // XITEMDELEGATE_H
XItemDelegate.cpp
#include "XItemDelegate.h"
XItemDelegate::XItemDelegate(QWidget *parent)
{
}
void XItemDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
editor->setGeometry(option.rect);
}
XItemDelegate* itemDelegate = new XItemDelegate();
listWidget->setItemDelegate(itemDelegate);
边栏推荐
猜你喜欢
随机推荐
Junda technology - centralized monitoring scheme for multi brand precision air conditioners
Gao Xiang slam14 lecture - note 1
体验 win10 下 oceanbase 数据库
双位置继电器HJWS-9440
Quick sort (non recursive) and merge sort
008 C language foundation: C judgment
011 C language basics: C scope rules
Tri rapide (non récursif) et tri de fusion
[C language] keyword supplement
Double position relay rxmd2-1mrk001984 dc220v
[station B up dr_can learning notes] Kalman filter 1
认知篇----2022高考志愿该如何填报
Leetcode298 weekly race record
Navigation [machine learning]
Get system volume across platforms in unity
C语言实现定时器
Opencv实现对象跟踪
Experience oceanbase database under win10
【622. 设计循环队列】
NLP-D62-nlp比赛D31&刷题D15