Форум программистов, компьютерный форум CyberForum.ru

Qt

Войти
Регистрация
Восстановить пароль
 
Anvis
27 / 5 / 1
Регистрация: 06.06.2013
Сообщений: 33
#1

Групповое изменение QListWidgetItem - C++ Qt

09.01.2017, 00:50. Просмотров 160. Ответов 3
Метки нет (Все метки)

Имею QListWidget с набором QListWidgetItem. Каждый итем имеет свойство Qt::Checked, а виджету разрешено выделение нескольких итемов. Теперь пользователь выделяет часть итемов, и снимает(устанавливает) на одном из выделенных галочку. Как сделать так, чтобы при этом галочки поменялись на всех остальных выделенных итемах?

Вообще в моей задаче кроме галочки в итемах ничего не меняется, по идее можно использовать сигнал QListWidgetItem::itemChanged(QListWidgetItem * item) и затем изменять состояние остальных итемов, но это криво и не универсально. Есть ли другой способ? Как вообще отследить изменение чекбокса итема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2017, 00:50     Групповое изменение QListWidgetItem
Посмотрите здесь:

Рисования на QListWidgetItem C++ Qt
QListWidgetItem пишем событие для него C++ Qt
Изменение порядка меню C++ Qt
C++ Qt Изменение реестора
Изменение текста QPushButton C++ Qt
C++ Qt Удаление элементов из QListWidgetItem
C++ Qt Изменение текста метки
C++ Qt Изменение виджета
C++ Qt Изменение родителя в Qt Designer
C++ Qt Динамическое изменение интерфейса
Validator для QListWidgetItem C++ Qt
Полоса прокрутки QListWidget и изменение высоты QListWidgetItem C++ Qt

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nell_core
2 / 2 / 1
Регистрация: 19.08.2016
Сообщений: 83
09.01.2017, 07:14     Групповое изменение QListWidgetItem #2
Цитата Сообщение от Anvis Посмотреть сообщение
Как вообще отследить изменение чекбокса итема?
Цитата Сообщение от Anvis Посмотреть сообщение
использовать сигнал QListWidgetItem::itemChanged(QListWidgetItem * item)
Как-то так.
Doddger
10 / 13 / 3
Регистрация: 24.09.2014
Сообщений: 80
09.01.2017, 13:33     Групповое изменение QListWidgetItem #3
Всё верно на счёт сигнала. А для изменения состояния у выделенных итемов воспользуйтесь методом QList<QListWidgetItem *> QListWidget::selectedItems () const.
Anvis
27 / 5 / 1
Регистрация: 06.06.2013
Сообщений: 33
09.01.2017, 14:46  [ТС]     Групповое изменение QListWidgetItem #4
Так-то я и сделал. Гугление в интернетах подтвердило, что кроме itemChanged ничего подходящего нет. Не нравится, но наверное, можно этим ограничиться. А если захочу потом менять текст - буду городить условие (например, если выделен один итем).

Добавлено через 50 минут
Ничего городить не пришлось. Прикрутил слот к itemChanged, поставил флаги для редактирования итемов и все заработало без замечаний. Спасибо, проблема была надуманной и itemChanged действительно полностью решает задачу.
Yandex
Объявления
09.01.2017, 14:46     Групповое изменение QListWidgetItem
Ответ Создать тему
Опции темы

Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru