Вопрос

В моей форме у меня есть QListWidget который содержит проверку QListWidgetItems. Отказ Я ищу способ захватить событие QListWidgetItem проверяется / не проверено. Я не вижу такой сигнал, существующий для этого, но, возможно, я ошибаюсь. Что я сейчас делаю, использует QListWidget::itemClicked() сигнал и проверка checkState из QListWidgetItem, но это не то, что я хочу, потому что это событие происходит в любое время, когда элемент нажал, а не просто пошел, галочка переключается. Кто-нибудь может дать некоторую помощь? Спасибо!

Это было полезно?

Решение

По-видимому, такой сигнал не предоставляется, ваша лучшая ставка - использовать QListWidget::itemChanged(QListWidgetItem* item) и сканировать результат item->checkState(). Отказ Это должно быть небольшое улучшение с использованием itemClicked

Другие советы

Дополнительный вариант - использовать свой собственный QAbstractListModel с А. QListView. Отказ Сначала это добавляет дополнительный код, поскольку вам нужно добавить свой собственный код управления. Но вы получаете более низкий уровень доступа. В основном потому что то QListView спросит вашу модель, что делать. Это также будет вводиться реле обратно в ваш список MistModel, где вы можете подключить к нему.

В качестве альтернативы вы можете подкласс QStandardItemModel и поймать определенные изменения, связанные с изменением флажков.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top