QListWidgetItem* item = new QListWidgetItem;
ui->listWidget->addItem(item);
item->setSizeHint(QSize(100,60));
MyDiyItem* diyItem = new MyDiyItem(this);
ui->listWidget->setItemWidget(item, diyItem);
根据item名字删除
QList<QListWidgetItem*> list = ui->listWidget->findItems(u8"编辑", Qt::MatchFlag::MatchCaseSensitive);
QListWidgetItem* delItem = list[0];
int row = ui->listWidget->row(delItem);
QListWidgetItem* item = ui->listWidget->takeItem(row);
ui->listWidget->removeItemWidget(item);
delete item;
删除当前选中的
QListWidgetItem* current = ui->listWidget->currentItem();
ui->listWidget->removeItemWidget(current);
delete current;
// 必须设置,否则无法显示菜单
ui->listWidget->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(ui->listWidget, &QListWidget::customContextMenuRequested, this,&ListWidget::on_PopupRightMenu);
void ListWidget::on_PopupRightMenu(const QPoint& point) {
QListWidgetItem* item = ui->listWidget->itemAt(point);
if (item) {
menu->exec(QCursor::pos());
}
}
// 不显示水平滚动条
ui.listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
// 只有需要时才显示垂直滚动条
ui.listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
Comments