crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> QMessageBox, не закрывается
igorenja
  опции профиля:
сообщение 22.3.2010, 11:25
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.1.2010
Пользователь №: 1384

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




Репутация:   0  


Доброе время суток!
У меня похожая проблема, что бы новую тему не открывать напишу тут:
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
  опции профиля:
сообщение 22.3.2010, 11:50
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


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

Цитата(igorenja @ 22.3.2010, 14:25) *
то вообще никак не закрыть его...
нужен минимальный тестовый пример, который воспроизводит эту проблему.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igorenja
  опции профиля:
сообщение 22.3.2010, 13:08
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.1.2010
Пользователь №: 1384

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




Репутация:   0  


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


Шутка в том что написанный тестовый пример работает как хочется.... Буду разбираться сам... Еси не получится напишу
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.3.2010, 13:12
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


igorenja, ты его откуда вызываешь, где создаёшь? В наследнике QWidget?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igorenja
  опции профиля:
сообщение 22.3.2010, 13:32
Сообщение #5


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.1.2010
Пользователь №: 1384

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




Репутация:   0  


Цитата(Litkevich Yuriy @ 22.3.2010, 16:12) *
igorenja, ты его откуда вызываешь, где создаёшь? В наследнике QWidget?

в наследнике наследника QWidget
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 22.3.2010, 17:47
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

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




Репутация:   94  


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

П.С. Если простейший тест, в функции main, работает корректно. То нужно написать тест, повотряющий иерархию объектов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igorenja
  опции профиля:
сообщение 23.3.2010, 9:50
Сообщение #7


Студент
*

Группа: Участник
Сообщений: 22
Регистрация: 18.1.2010
Пользователь №: 1384

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




Репутация:   0  


Цитата(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()));
то кояка нет.

пример прицепил...
Причина редактирования: Заменил [codebox] на [code]

Прикрепленные файлы
Прикрепленный файл  testdialog.zip ( 9.34 килобайт ) Кол-во скачиваний: 30
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 23.3.2010, 12:37
Сообщение #8


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


))) Сам подумай. editingFinished эмитится, в это время срабатывает мессага и эдит теряет фокус, опять эмит и так до бесконечности.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 31.3.2020, 4:27