一、
继续完善上一篇的QlistWidget的自绘操作,为其增加编辑功能:
主要注意两点:
1、设置QlistWidget的每一项具有编辑功能:
QListWidgetItem* item1 = new QListWidgetItem;
item1->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable|Qt::ItemIsSelectable);
2、编辑后文本可能显示不全,此时要进行文本宽度的测量,然后根据实际宽度进行绘制。
二、实例代码
ListWidget::ListWidget(QWidget *parent, Qt::WFlags flags)
: QMainWindow(parent, flags)
{
ui.setupUi(this);
QListWidgetItem* item1 = new QListWidgetItem;
item1->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable|Qt::ItemIsSelectable);
QListWidgetItem* item2 = new QListWidgetItem;
item2->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable|Qt::ItemIsSelectable);
item1->setData(Qt::DecorationRole,QIcon(":/ListWidget/Resources/Save.png"));
item1->setData(Qt::DisplayRole,"Save");
item1->setData(Qt::UserRole 1,"This is Icon