Множественный выбор в QlistWidget без нажатия Ctrl |
Здравствуйте, гость ( Вход | Регистрация )
Множественный выбор в QlistWidget без нажатия Ctrl |
lxx |
22.9.2010, 20:17
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 22.9.2010 Пользователь №: 2057 Спасибо сказали: 0 раз(а) Репутация: 0 |
Приветствую!
Такая проблема: Есть QlistWidget с возможностью выбора нескольких элементов. Чтобы выбрать несколько элементов нужно при выборе зажимать Ctrl. Можно-ли сделать так, чтобы это можно было делать без удерживания Ctrl, то есть нажал на элемент один раз - он выбрался, второй раз - выбор снялся. Пробовал в сигнале itemClicked делать следующее: CODE void PlugApmBuilder::on_listWidget_itemClicked(QListWidgetItem* item) { if (item->isSelected()) item->setSelected(false); else item->setSelected(true); // Выбор обязательных элементов QList<QListWidgetItem *> list; list = ui->listWidget->findItems(QString("element"), Qt::MatchExactly); if (list.count() > 0) list[0]->setSelected(true); } Но при клике элемент выделяется и сразу сбрасывается. Еще есть идея при клике как-то программно посылать Qt::ControlModifier, но как это сделать я не знаю. Подскажите что-нибудь... |
|
|
Алексей1153 |
22.9.2010, 20:49
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
сам я со списком ещё не возился, но как идея: хранить QList со списком индексов или имён выделенных объектов, по щелчку - "инвертировать" нужный объект в своём списке. И, соответственно, после каждого щелчка всё, что в своём списке помечено, помечать разом в виджете
|
|
|
Litkevich Yuriy |
22.9.2010, 21:03
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
У представления есть настройка режима выделения - QAbstractItemView::SelectionMode. Это также будет работать и для виджета.
|
|
|
MoPDoBoPoT |
22.9.2010, 21:05
Сообщение
#4
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
listWgt->setSelectionMode(QAbstractItemView::MultiSelection);
|
|
|
Litkevich Yuriy |
22.9.2010, 21:11
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
к стати нашёл, с горем пополам, описание на русском.
Какого-то чёрта троли воткнули описание, принадлежащее абстрактному классу, в раздел для виджетов. |
|
|
lxx |
23.9.2010, 7:01
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 22.9.2010 Пользователь №: 2057 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 7:36 |