Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: QMessageBox, не закрывается
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
igorenja
Доброе время суток!
У меня похожая проблема, что бы новую тему не открывать напишу тут:
CODE

QMessageBox *mess = new QMessageBox(0);
mess->setText("tdfghldjkfhgklsh");
mess->setIcon(QMessageBox::Critical);
mess->exec();
delete mess;


В приведённом выше примере диалоговое окошечко вызывается 2 реза, если так:
CODE

QMessageBox *mess = new QMessageBox(this);
mess->setText("tdfghldjkfhgklsh");
mess->setIcon(QMessageBox::Critical);
mess->exec();
delete mess;


то вообще никак не закрыть его...

В чём может быть дело?
Litkevich Yuriy
Цитата(igorenja @ 22.3.2010, 14:25) *
что бы новую тему не открывать напишу тут:
это всмысле лень?

Цитата(igorenja @ 22.3.2010, 14:25) *
то вообще никак не закрыть его...
нужен минимальный тестовый пример, который воспроизводит эту проблему.
igorenja
Цитата(Litkevich Yuriy @ 22.3.2010, 14:50) *
нужен минимальный тестовый пример, который воспроизводит эту проблему.


Шутка в том что написанный тестовый пример работает как хочется.... Буду разбираться сам... Еси не получится напишу
Litkevich Yuriy
igorenja, ты его откуда вызываешь, где создаёшь? В наследнике QWidget?
igorenja
Цитата(Litkevich Yuriy @ 22.3.2010, 16:12) *
igorenja, ты его откуда вызываешь, где создаёшь? В наследнике QWidget?

в наследнике наследника QWidget
Litkevich Yuriy
Цитата(igorenja @ 22.3.2010, 16:32) *
в наследнике наследника QWidget
Этот диалог случаем не в конструкторе какого-то класса создаётся?

П.С. Если простейший тест, в функции main, работает корректно. То нужно написать тест, повотряющий иерархию объектов.
igorenja
Цитата(Litkevich Yuriy @ 22.3.2010, 20:47) *
Этот диалог случаем не в конструкторе какого-то класса создаётся?

П.С. Если простейший тест, в функции main, работает корректно. То нужно написать тест, повотряющий иерархию объектов.


В main запускается, более того я обнаружил что если подключить слот BtnTestClicked() к lineEdit1 вот так:
    connect(lineEdit1,SIGNAL(editingFinished()),this,SLOT(BtnTestClicked()));
то косяк есть, а если вот так
    connect(lineEdit1,SIGNAL(textChanged(QString)),this,SLOT(BtnTestClicked()));
то кояка нет.

пример прицепил...
panter_dsd
))) Сам подумай. editingFinished эмитится, в это время срабатывает мессага и эдит теряет фокус, опять эмит и так до бесконечности.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.