crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Как редактировать елементы в QListWidget?
DIMEDROLL
  опции профиля:
сообщение 3.10.2009, 15:14
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


В QListWidget добавлено несколько элементов. Требуется по клику на элементе делать его редактируемым. Как правильно это сделать?

Что пробовал:
в свойствах QListWidget указал EditTriggers = EditKeyPressed | DoubleClicked | SelectedClicked
соединял сигнал itemClicked с editItem и с openPersistentEditor, что то не то выходит...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 3.10.2009, 15:36
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Попробуй так:
QListWidgetItem *pitem = new QListWidgetItem( pListWidget);
pItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled);
pItem->setText("test item");
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
DIMEDROLL
  опции профиля:
сообщение 3.10.2009, 17:29
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Благодарю!
Я подобное пробовал, только другим способом:
...
connect(ui.listWidget, SIGNAL(itemClicked (QListWidgetItem * )),
        this, SLOT( EditItem(QListWidgetItem *)));
...
void TestListWidgetEdit::EditItem( QListWidgetItem *item )
{
    item->setFlags(Qt::ItemIsEditable);
    ui.listWidget->editItem(item);
}

Сейчас поужинал и понял что не хватает
Qt::ItemIsEnabled
как в твоем так и моем варианте. Без этого флага элемент вообще нельзя выбрать. Правда твой вариант лучше :)
Добавлять элементы буду так:
    QListWidgetItem *pItem = new QListWidgetItem(ui.listWidget);
    pItem->setFlags(Qt::ItemIsEditable | Qt::ItemIsEnabled);
    pItem->setText("test item");

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.2.2023, 19:01