![]() |
|
|
![]()
|
|
| BiTOk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 23.12.2010 Репутация: нет Всего: нет |
Доброе время суток. Хочу сделать добавление элементов в QListWidget без дополнительных окошек или полей ввода. Т.е. нажимаем Добавить, в QListWidget появляется новый элемент и для него сразу открыто редактирование (editItem(..)), но при этом надо контролировать то, что вводит пользователь, точнее надо запретить элементы с одинаковым или пустым текстом. Попробовал ловить сигнал itemChanged, он срабатывает при изменении элемента в QListWidget, но при этом он срабатывает и при добавлении нового элемента, т.е. при каждом добавлении ему передаётся QListWidgetItem с пустым текстом, если после этого нажать Enter, то сигнал второй раз не пошлётся. Хочу добиться такой реакции: если введён текст, который уже есть у какого-то элемента, то выдать сообщение об этом и продолжить ввод. Если введён пустой текст и нажат Enter или Esc, то убрать вновь добавленный элемент. Сейчас обработчики добавления нового элемента и слот для itemChanged выглядят так:
Может я не тот виджет выбрал для подобных операций? Кто что посоветует? Это сообщение отредактировал(а) BiTOk - 19.9.2011, 09:45 |
|||
|
||||
| BiTOk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 23.12.2010 Репутация: нет Всего: нет |
Пошуршал по инету, поискал виджеты, аналогичные QListWidget, нашёл виджет QxtListWidget, вот описание: http://libqxt.bitbucket.org/doc/0.6/qxtlistwidget.html добавлены сигналы для обработки начала/конца редактирования элементов, попробую его применить. Вопрос остаётся актуальным, какие ещё есть варианты.
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Можно сделать свой делегат, который при создании редактора ловит его сигналы
|
|||
|
||||
| BiTOk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 23.12.2010 Репутация: нет Всего: нет |
Можно экзамплик, хотя бы тривиальный.
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Примерно так:
|
|||
|
||||
| BiTOk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 23.12.2010 Репутация: нет Всего: нет |
Попробую, мои благодарности.
|
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |