Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Множественный выбор в QlistWidget без нажатия Ctrl
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
lxx
Приветствую!
Такая проблема:
Есть 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
сам я со списком ещё не возился, но как идея: хранить QList со списком индексов или имён выделенных объектов, по щелчку - "инвертировать" нужный объект в своём списке. И, соответственно, после каждого щелчка всё, что в своём списке помечено, помечать разом в виджете
Litkevich Yuriy
У представления есть настройка режима выделения - QAbstractItemView::SelectionMode. Это также будет работать и для виджета.
MoPDoBoPoT
listWgt->setSelectionMode(QAbstractItemView::MultiSelection);
Litkevich Yuriy
к стати нашёл, с горем пополам, описание на русском.
Какого-то чёрта троли воткнули описание, принадлежащее абстрактному классу, в раздел для виджетов.
lxx
Цитата(MoPDoBoPoT @ 22.9.2010, 22:05) *
listWgt->setSelectionMode(QAbstractItemView::MultiSelection);

Ой спасибо! Что-бы я без Вас делал...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.