mousePressEvent をオーバーライド
class NoClearListWidget : public QListWidget
{
Q_OBJECT
public:
using QListWidget::QListWidget;
protected:
void mousePressEvent(QMouseEvent* event) override
{
QModelIndex index = indexAt(event->pos());
// アイテムがない場所をクリックしたら無視
if (!index.isValid()) {
event->ignore();
return;
}
QListWidget::mousePressEvent(event);
}
};