Qt / C ++: сигнал для проверки QListwidgetem?
-
27-09-2019 - |
Вопрос
В моей форме у меня есть QListWidget
который содержит проверку QListWidgetItems
. Отказ Я ищу способ захватить событие QListWidgetItem
проверяется / не проверено. Я не вижу такой сигнал, существующий для этого, но, возможно, я ошибаюсь. Что я сейчас делаю, использует QListWidget::itemClicked()
сигнал и проверка checkState
из QListWidgetItem
, но это не то, что я хочу, потому что это событие происходит в любое время, когда элемент нажал, а не просто пошел, галочка переключается. Кто-нибудь может дать некоторую помощь? Спасибо!
Решение
По-видимому, такой сигнал не предоставляется, ваша лучшая ставка - использовать QListWidget::itemChanged(QListWidgetItem* item)
и сканировать результат item->checkState()
. Отказ Это должно быть небольшое улучшение с использованием itemClicked
Другие советы
Дополнительный вариант - использовать свой собственный QAbstractListModel
с А. QListView
. Отказ Сначала это добавляет дополнительный код, поскольку вам нужно добавить свой собственный код управления. Но вы получаете более низкий уровень доступа. В основном потому что то QListView
спросит вашу модель, что делать. Это также будет вводиться реле обратно в ваш список MistModel, где вы можете подключить к нему.
В качестве альтернативы вы можете подкласс QStandardItemModel
и поймать определенные изменения, связанные с изменением флажков.