Russian Qt Forum
Февраль 05, 2012, 19:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
(Модератор:
Sergeich
) >
не могу подружиться с QListWidget: не добавляются итемки
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: не могу подружиться с QListWidget: не добавляются итемки (Прочитано 1438 раз)
ASGAlex
Новичок
Offline
Сообщений: 20
не могу подружиться с QListWidget: не добавляются итемки
«
:
Июль 03, 2009, 02:37 »
Никак в толк взять не могу... Может кто просветит меня? Вот такой вот примерно код имеется:
Код:
class TestData
{
...
QListWidgetItem* list_item;
}
TestData::TestData()
{
list_item=new QListWidgetItem;
list_item->setText("untitled");
}
А в другом файле вот так:
Код:
TestData data;
tests.append(data); //tests - это QList<TestData>
if(!tests.isEmpty())
testList->addItem(tests.last().list_item); //testList - это QListWidget
Код почему-то не работает. Хоть и ошибок не выдаёт. Элемент в список не добавляется. В чем косяк?
Записан
У нас на обед - салат "Рекурсивный" : помидоры, огурцы, салат.
Константин
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2575
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #1 :
Июль 03, 2009, 02:44 »
родителя, наверное, хочет...
а почему вообще так? почему бы в ТестДата не добавить метод, возвращающий имя теста, а потом это имя уже использовать в контексте?
Записан
4.7
Gentoo ~amd64 / winxpprosp2 / fremantle armel
Qt - Qt Development Frameworks; QT - QuickTime
ASGAlex
Новичок
Offline
Сообщений: 20
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #2 :
Июль 03, 2009, 22:37 »
Родителя? Забавно... дело в том, что до этого делал так:
Код:
QListWidgetItem* i=new QListWidgetItem;
i->setText("тра-ля-ля");
testList->addItem(i);
и это работало. То есть родитель особо-то и не нужен ему, получается.
Я бы рад использовать только имя, вот только как тогда переставить элемент списка? Меня даг-анд-дропы не устраивают, нужно просто по нажатию кнопки. Тут ведь нету функции пересставления элементов, приходится удалять старый и создавать новый.
Записан
У нас на обед - салат "Рекурсивный" : помидоры, огурцы, салат.
Константин
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2575
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #3 :
Июль 03, 2009, 23:42 »
Цитата: ASGAlex от Июль 03, 2009, 22:37
Родителя? Забавно... дело в том, что до этого делал так:
Код:
QListWidgetItem* i=new QListWidgetItem;
i->setText("тра-ля-ля");
testList->addItem(i);
и это работало. То есть родитель особо-то и не нужен ему, получается.
тогда дело не в этом - ищи ошибки в своём коде.
Записан
4.7
Gentoo ~amd64 / winxpprosp2 / fremantle armel
Qt - Qt Development Frameworks; QT - QuickTime
ASGAlex
Новичок
Offline
Сообщений: 20
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #4 :
Июль 04, 2009, 23:34 »
Ошибки так и не нашек, пофиксил всё с помощью коварного обмана:
Код:
QListWidgetItem *i=new QListWidgetItem;
i->setText("unt");
tests.last().list_item=i;
if(!tests.isEmpty())
testList->addItem(i);
Не знаю, насколько проблему можно считать решенной, но пока что всё работает, посмотрим, какие подводные камни ждут впереди...
Записан
У нас на обед - салат "Рекурсивный" : помидоры, огурцы, салат.
Константин
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2575
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #5 :
Июль 05, 2009, 15:12 »
вот тебе первый подводный камень - краш на строке tests.last().list_item=i, если лист пустой
Записан
4.7
Gentoo ~amd64 / winxpprosp2 / fremantle armel
Qt - Qt Development Frameworks; QT - QuickTime
break
Супер активный житель
Offline
Сообщений: 740
Re: не могу подружиться с QListWidget: не добавляются итемки
«
Ответ #6 :
Июль 05, 2009, 15:21 »
Цитировать
Я бы рад использовать только имя, вот только как тогда переставить элемент списка? Меня даг-анд-дропы не устраивают, нужно просто по нажатию кнопки. Тут ведь нету функции пересставления элементов, приходится удалять старый и создавать новый.
Все весьма странно - если вам надо переставлять элементы в каком-то списке вероятно должно быть поле отвечающее за их упорядычевание ORDER_NUM - вот его и можно менять при изменении порядка элементов выводимых на экран, а потом вызывать какой-то SORT. Удаление и создание новых элементов вместо перестановки - это 100% неправильный подход
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> Печать
=> Интернационализация, локализация
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
=> Архив
===> Программирование
=====> Python
===> Веб программирование
=====> PHP, PERL, CGI
Загружается...