如果你只想抓住一個選定的項目,你可以使用QListWidget
的信號itemClicked(QListWidgetItem *item)
或itemActivated(QListWidgetItem *item)
。如果你想以某種方式激活自定義項目,你可以使用setItemSelected()
方法或setSelected()
的QListWidgetItem
。
所以,你的代碼可以是例如:
.H側:
<...>
signals:
void someSignal(const QString &data);
public slots:
void itemClicked(QListWidgetItem *item);
void someSlot(const QString &data);
}
的.cpp方:
YourClass::YourClass()
{
lw_mask_items.addItem('Rectangle 1')
lw_mask_items.addItem('Rectangle 2')
lw_mask_items.addItem('Rectangle 3')
connect(&lw_mask_items, &QListWidget::itemClicked, this, &YourClass::itemClicked);
connect(this, &YourClass::someSignal, this, &YourClass::someSlot);
}
void YourClass::itemClicked(QListWidgetItem *item)
{
// your code here
}
void YourClass::someSlot(const QString &data)
{
for(int i = 0; i < wid.count(); i++)
if(wid.item(i)->data(Qt::DisplayRole).toString().contains(data))
wid.item(i)->setSelected(true);
}
你是什麼意思與激活? – Fabio
喜歡點擊。但我不想點擊。我想在代碼中將其設置爲「單擊」。 –
'item-> setCheckState(Qt :: Checked);'? – IAmInPLS