crossplatform.ru

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

Gambit
  опции профиля:
сообщение 2.8.2010, 17:00
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 12.6.2010
Пользователь №: 1802

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




Репутация:   0  


Программа, запущенная с флагами this->setWindowFlags (Qt::Tool | Qt::FramelessWindowHint);
падает после нажатия на OK в вызванном мессадж-боксе.
Код вызова стандартный:
msgBox.setIcon(QMessageBox::Information);
msgBox.setDetailedText("DETAILED TEXT");
msgBox.setWindowTitle("All OK");
msgBox.setInformativeText("Some Text");
msgBox.setText("SET_TEKAST");
msgBox.exec();

При отключении флагов, прога не падает, но мне нужно чтобы главное окно было без рамки и шапки.
Хелп.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 3.8.2010, 11:51
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

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




Репутация:   34  


Похоже Qt Tool окна не считает за полноценные окна. Так будет работать, если указать родителя:

networkdemo::networkdemo(QWidget *parent) : QMainWindow(parent), ui(new Ui::networkdemo), msgBox(this)


И так будет работать, если родителя не указывать:

QApplication::setQuitOnLastWindowClosed(false);


По умолчанию setQuitOnLastWindowClosed = true. Видимо когда QMessageBox закрывается, то Qt думает, что это последнее окно.

Но после решений, что я написал выше возникает другая проблема - приложение остается висеть в процессах, слот close() для Tool окна почему-то не срабатывает. Аттрибут Qt::WA_DeleteOnClose тоже не помогает.
---
В общем, если дальше работать с Tool окном, то нужно взять за правило, что все Top Level окна должны иметь родителя. Затем прописать такое, чтобы корректно обрабатывать закрытие главного Tool окна:

void MainWindow::closeEvent(QCloseEvent *e)
{
    qApp->quit();
}



Сообщение отредактировал SABROG - 3.8.2010, 12:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 11.6.2025, 18:57