Russian Qt Forum
Сентябрь 30, 2024, 16:33 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWidget: Must construct QApplication before QPaintDevice  (Прочитано 5021 раз)
RandRay
Гость
« : Декабрь 10, 2009, 16:53 »

Или почему указатель qApp может быть невалиден?
В исходниках нашел qApp (указатель на instance QCoreApplication) - при выполнении
Код:
    
 if (!qApp) {
        qFatal("QWidget: Must construct a QApplication before a QPaintDevice");
        return;
    }
вылезает ошибка.

Создал приложение, все нормально. Написал для него диалог поиска - вот такая ветчина вылетела. Главное теперь не убрать её - убирал даже H-ники, посвященные диалогу, и всё равно вылетает! =(
я пользовался поиском, искал на нескольких сайтах - везде пишут, что у меня Виджет до Приложения объявлен? в принципе это и из сообщения ясно  - как он может быть объявлен если код такой
Код:
#include "stdafx.h"
#include <QtCore/QCoreApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QApplication>
#include "code2.h"


int main(int argc, char *argv[])
{
   
QApplication APPLIC(argc,argv);

code2 w;
       
           w.show();
QTextCodec *rusCodec = QTextCodec::codecForName("windows1251");
QTextCodec::setCodecForTr(rusCodec);

       APPLIC.connect(&APPLIC, SIGNAL(lastWindowClosed()), &APPLIC, SLOT(quit()));
        return APPLIC.exec();
}


В файле ui_code.h  все виджеты объявлены указателями.
В code2.h нет ничего, наследующего QPaintDevice.

Как заставить это работать?
Благодарен.
Записан
Rcus
Гость
« Ответ #1 : Декабрь 10, 2009, 16:57 »

Данных для ответа мало, но можно предположить наличие жизни до вызова main, то есть инициализацию статических объектов.
Вызов qFatal примечателен тем что вызывает abort(), это можно перехватить отладчиком и посмотреть след стека вызовов для окончательной диагностики
Записан
RandRay
Гость
« Ответ #2 : Декабрь 10, 2009, 17:00 »

Сейчас поищу статические объекты и след стека посмотрю. Спасибо за совет!
Записан
RandRay
Гость
« Ответ #3 : Декабрь 10, 2009, 20:07 »

что нужно выложить для более глубокого анализа проблемы форумчанами?
Записан
Dendy
Гость
« Ответ #4 : Декабрь 11, 2009, 04:45 »

Весь код давай.
Записан
RandRay
Гость
« Ответ #5 : Декабрь 11, 2009, 22:36 »

всё. Проблема решена =) нашел это объявление - далеко однако лежало. Всем спасибо все свободны! Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.08 секунд. Запросов: 21.