QtのQListWidgetにおいてアイテムのない部分をクリックしても選択が解除されないようにする
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); } };