Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: L.Marvell от Августа 29, 2005, 18:55



Название: Чей баг, мой или Qt?
Отправлено: L.Marvell от Августа 29, 2005, 18:55
Есть QListWidget, к его сигналу itemClicked прицеплен слот и вот когда кликаешь на границу между выделенным и невыделенным элементом, приложение падает. Обнаружено чисто случайно :) Если цеплять, например, на currentItemChanged, то все работает нормально, но в моей ситуации пока к сожалению нужно использовать itemClicked.


Название: Чей баг, мой или Qt?
Отправлено: KADABRA от Августа 29, 2005, 19:14
Какая версия кути? Какая ОС?


Название: Чей баг, мой или Qt?
Отправлено: L.Marvell от Августа 29, 2005, 19:39
Цитата: "KADABRA"
Какая версия кути? Какая ОС?

Упс... сори, забыл сообщить. Qt 4.0.1 open source под вынь.


Название: Чей баг, мой или Qt?
Отправлено: KADABRA от Августа 29, 2005, 20:26
Только что проверил - всё отлично работает.
Могу вот что привести:
void QListWidget::itemClicked ( QListWidgetItem * item )  [signal]
This signal is emitted when a mouse button is clicked. The item may be 0 if the mouse was not clicked on an item.

Может ты не проверяешь на нулл?


Название: Чей баг, мой или Qt?
Отправлено: KADABRA от Августа 29, 2005, 20:26
Только что проверил - всё отлично работает.
Могу вот что привести:
void QListWidget::itemClicked ( QListWidgetItem * item )  [signal]
This signal is emitted when a mouse button is clicked. The item may be 0 if the mouse was not clicked on an item.

Может ты не проверяешь на нулл?


Название: Чей баг, мой или Qt?
Отправлено: KADABRA от Августа 29, 2005, 20:28
Ещё могу посоветовать использовать всё-таки
currentItemChanged(QListWidgetItem *, QListWidgetItem *)


Название: Чей баг, мой или Qt?
Отправлено: mipo от Августа 30, 2005, 06:16
У currentItemChanged такая же проблема:
Код:

currentItemChanged(QTableWidgetItem *current, QTableWidgetItem *)
{
    if (!current) return;
    // Do something using current
}

Без этого "if (!current) return;" у меня были сбои в программе когда много тыкал в разные щели


Название: Чей баг, мой или Qt?
Отправлено: L.Marvell от Августа 30, 2005, 12:47
Таки да, нужно проверять на присутствие кликнутого элемента. А вот в случае с currentItemChange у меня работает и без проверки, как только ни кликал - не падает.