crossplatform.ru

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


  Ответ в Как удалить item из QListWidget, по нажатию кнопки в нем.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

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


Последние 10 сообщений [ в обратном порядке ]
RazrFalcon Дата 3.8.2011, 13:00
  Спасибо. То что нужно.
У меня все было точно также, разве что в классе-наследнике я не кнопке setProperty() делал, а просто переменную завел.
Моя ошибка была в том, что я не переназначал индексы. И после каждого удаления они сбивались конечно же, и получалось черти что :lol:
igor_bogomolov Дата 3.8.2011, 12:27
  Я когда то делал так (только у меня таблица была):

1. для каждой кнопки в свойствах указывал номер строки за которую он отвечает
    QToolButton *delete_button = new QToolButton();
    delete_button->setProperty("row", row);
    table->setCellWidget(row,4, delete_button);
    connect(delete_button, SIGNAL(clicked()), SLOT(queryDeleteProfileMulticast()));

2. в слоте узнавал какая кнопка нажата и за какую строку она отвечает
void CgcParamTab::queryDeleteProfileMulticast()
{
    QToolButton *button = qobject_cast<QToolButton *>(sender());
    if(!button) return;

    bool ok = false;
    int row = button->property("row").toInt(&ok);
    if(!ok) return;

3. удалял нужную строку
    table->removeRow(row);

4. переназначал свойство для оставшихся кнопок
for (........) {
        toolButton = table->cellWidget(row, 4);
        if (toolButton!=0) toolButton->setProperty("row", row);
}

RazrFalcon Дата 3.8.2011, 10:24
  Есть QListWidget, в каждый элемент вставлен виджет. setItemWidget();
Сам виджет - класс наследник от QWidget.
На каждом виджете расположена кнопка закрыть.

Как по нажатию этой кнопки (закрытьС) удалить итем QListWidget'а, содержащий этот вижет.

В самом виджете я вызываю deleteLater(); и он удаляется. но остается просто пустой QListWidgetItem.
Как узнать какой необходимо удалить?

Пример:
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 3:53