Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Mixolap от Июнь 30, 2007, 21:24



Название: Must construct a QApplication before a QPaintDevice
Отправлено: Mixolap от Июнь 30, 2007, 21:24
FC7 QT4.2.3  x86_64

В винде все работает нормально и на FC5 x86_32 проблем не было, а как перешел на новую платформу программа стала выдавать вот такое сообщение:

QWidget: Must construct a QApplication before a QPaintDevice

компилятор gcc4.1.2
Как это можно поправить? куда копать?


Название: Must construct a QApplication before a QPaintDevice
Отправлено: Racheengel от Июнь 30, 2007, 23:16
видать, у тебя где-то член класса типа QWidget myWidget; или в этом роде.
Должен быть указатель, который ты потом инициализируешь в конструкторе.


Название: Re: Must construct a QApplication before a QPaintDevice
Отправлено: kitov от Июль 02, 2007, 22:18
Скорее всего слинковал с неправильной библиотекой .
Например с debug-версией , а запускаешь с release-версией
библиотеки .
У меня такая херня с Qwt .


Название: Re: Must construct a QApplication before a QPaintDevice
Отправлено: pastor от Июль 03, 2007, 16:11
Цитата: "kitov"
Скорее всего слинковал с неправильной библиотекой .
Например с debug-версией , а запускаешь с release-версией
библиотеки .


Была аналогичная проблема именно по этой причине


Название: Must construct a QApplication before a QPaintDevice
Отправлено: Mixolap от Июль 03, 2007, 18:48
перекомпилировал QT без опции -static  - действительно помогло.
Спасибо за помощь.

добавлено спустя 36 минут:

 И PyQT стал сигналы схватывать - с ними тоже проблемы были.


Название: Must construct a QApplication before a QPaintDevice
Отправлено: Alex Forth от Июль 04, 2007, 22:29
Цитата: "kitov"

Меня сама Qt начинает потихоньку напрягать , в основном из-за невозможности использования системы кутешных синалов и слотов в шаблонных классах .
Никто не слышал про планы перехода на нормальные сигналы , бустовские например :-)


Вот это (http://doc.trolltech.com/qq/qq16-dynamicqobject.html) поможет заюзать сигналы где угодно.
А вот  это  (http://qt.osdn.org.ua/templates.html) поможет понять, почему в Qt не будет сигналов как в boost. Впрочем никто не запрещает использовать boost и Qt одновременно  :wink: