crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Множественный выбор в QlistWidget без нажатия Ctrl
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
lxx Дата 23.9.2010, 7:01
 
Цитата(MoPDoBoPoT @ 22.9.2010, 22:05) *
listWgt->setSelectionMode(QAbstractItemView::MultiSelection);

Ой спасибо! Что-бы я без Вас делал...
Litkevich Yuriy Дата 22.9.2010, 21:11
  к стати нашёл, с горем пополам, описание на русском.
Какого-то чёрта троли воткнули описание, принадлежащее абстрактному классу, в раздел для виджетов.
MoPDoBoPoT Дата 22.9.2010, 21:05
  listWgt->setSelectionMode(QAbstractItemView::MultiSelection);
Litkevich Yuriy Дата 22.9.2010, 21:03
  У представления есть настройка режима выделения - QAbstractItemView::SelectionMode. Это также будет работать и для виджета.
Алексей1153 Дата 22.9.2010, 20:49
  сам я со списком ещё не возился, но как идея: хранить QList со списком индексов или имён выделенных объектов, по щелчку - "инвертировать" нужный объект в своём списке. И, соответственно, после каждого щелчка всё, что в своём списке помечено, помечать разом в виджете
lxx Дата 22.9.2010, 20:17
  Приветствую!
Такая проблема:
Есть 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, но как это сделать я не знаю.

Подскажите что-нибудь...
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.4.2024, 10:24