[Qt-creator] Custom widget in Qt Creator (Designer)
Eike Ziller
eike.ziller at nokia.com
Fri Jun 5 12:08:38 CEST 2009
Hi,
from the stack trace it looks like the crash happens when initializing
your custom widget. It might be because it tries to load a different
Qt than the one QtCreator *itself* ships with. I didn't come round to
investigating further yet, though.
Compiler on Mac is gcc, that shouldn't be a problem at all.
++ Eike
On Jun 3, 2009, at 10:06 AM, ext Jonathan Neuhaus wrote:
> I manage to install my custom widget into QtCreator on Windows. I
> used msvc to compile it, and then put the .dll into the /designer/
> plugins.
> I manage to use the widget from the designer from QtCreator then.
>
> However, I still can't figure out why it crashes under MacOS. I
> haven't found the compiler used for QtCreator and though, I don't
> manage to make my plugin works.
>
> Thank you for your help.
>
>
> 2009/6/2 Jonathan Neuhaus <neoraptor123 at gmail.com>
> Does someone know what is the compiler used for QtCreator on Mac?
> I know that in Windows it is msvc and that we should compile our
> custom widgets with this compiler to make it works (according to the
> FAQ).
> I may be able to solve the problem using the good compiler.
>
> Any other thoughts?
>
>
> 2009/6/2 Jonathan Neuhaus <neoraptor123 at gmail.com>
>
> Thank you Eike.
>
> I added my libCustomPenduWidget.dylib in QtCreator/Contents/MacOS/
> designer and then QtCreator crash each time.
> Here is my crash report :
>
> Process: QtCreator [690]
> Path: /Developer/Applications/Qt/QtCreator.app/Contents/
> MacOS/QtCreator
> Identifier: com.nokia.qtcreator
> Version: 1.1.0 (1.1.0)
> Code Type: X86 (Native)
> Parent Process: launchd [120]
>
> Interval Since Last Report: 29537 sec
> Crashes Since Last Report: 1
> Per-App Interval Since Last Report: 17636 sec
> Per-App Crashes Since Last Report: 1
>
> Date/Time: 2009-06-02 12:36:08.235 +0200
> OS Version: Mac OS X 10.5.7 (9J61)
> Report Version: 6
> Anonymous UUID: 045138E0-8B70-4156-BCD7-B492682EE430
>
> Exception Type: EXC_CRASH (SIGABRT)
> Exception Codes: 0x0000000000000000, 0x0000000000000000
> Crashed Thread: 0
>
> Thread 0 Crashed:
> 0 libSystem.B.dylib 0x95926e42 __kill + 10
> 1 libSystem.B.dylib 0x9599923a raise + 26
> 2 libSystem.B.dylib 0x959a5679 abort + 73
> 3 QtCore 0x1d63d215
> qt_message_output(QtMsgType, char const*) + 149
> 4 QtCore 0x1d63d309 qFatal(char
> const*, ...) + 105
> 5 QtGui 0x1cc348f1
> QWidgetPrivate::QWidgetPrivate(int) + 801
> 6 QtGui 0x1cc45596
> QWidget::QWidget(QWidget*, QFlags<Qt::WindowType>) + 54
> 7 libCustomPenduWidget.dylib 0x1c3f38c6
> PenduWidget::PenduWidget(QWidget*) + 50
> 8 libCustomPenduWidget.dylib 0x1c3f3df1
> CustomPenduWidget::createWidget(QWidget*) + 41
> 9 libQtDesigner.4.5.1.dylib 0x1abc35dc
> qdesigner_internal::WidgetFactory::createCustomWidget(QString
> const&, QWidget*, bool*) const + 74
> 10 libQtDesigner.4.5.1.dylib 0x1abc3b68
> qdesigner_internal::WidgetFactory::createWidget(QString const&,
> QWidget*) const + 116
> 11 libQtDesigner.4.5.1.dylib 0x1abc79dc
> qdesigner_internal::WidgetDataBase::defaultPropertyValues(QString
> const&) + 88
> 12 libQtDesigner.4.5.1.dylib 0x1abc7b96
> qdesigner_internal::WidgetDataBase::grabDefaultPropertyValues() + 100
> 13 libDesigner.dylib 0x1aa7bf43
> Designer::Internal::FormEditorW::fullInit() + 195
> 14 libDesigner.dylib 0x1aa7e23d
> Designer
> ::Internal
> ::FormEditorW
> ::ensureInitStage
> (Designer::Internal::FormEditorW::InitializationStage) + 129
> 15 libDesigner.dylib 0x1aa7e276
> Designer::Internal::FormEditorW::instance() + 24
> 16 libDesigner.dylib 0x1aa734c9
> Designer::Internal::FormEditorFactory::createEditor(QWidget*) + 15
> 17 libCore.dylib 0x00636c82
> Core::EditorManager::createEditor(QString const&, QString const&) +
> 872
> 18 libCore.dylib 0x00639d36
> Core::EditorManager::openEditor(QString const&, QString const&,
> QFlags<Core::EditorManager::OpenEditorFlag>) + 208
> 19 libProjectExplorer.dylib 0x1a2fae4e
> ProjectExplorer::Internal::ProjectTreeWidget::openItem(QModelIndex
> const&) + 134
> 20 libProjectExplorer.dylib 0x1a315df8
> ProjectExplorer
> ::Internal::ProjectTreeWidget::qt_metacall(QMetaObject::Call, int,
> void**) + 338
> 21 libQtCore.4.5.1.dylib 0x003e49b9
> QMetaObject::activate(QObject*, int, int, void**) + 541
> 22 libQtGui.4.5.1.dylib 0x010e8b85
> QAbstractItemView::activated(QModelIndex const&) + 61
> 23 libQtGui.4.5.1.dylib 0x01131c37
> QTreeView::mouseDoubleClickEvent(QMouseEvent*) + 851
> 24 libQtGui.4.5.1.dylib 0x00cb1208
> QWidget::event(QEvent*) + 2394
> 25 libQtGui.4.5.1.dylib 0x00fe0f45 QFrame::event(QEvent*)
> + 33
> 26 libQtGui.4.5.1.dylib 0x0106e7f3
> QAbstractScrollArea::viewportEvent(QEvent*) + 421
> 27 libQtGui.4.5.1.dylib 0x010f6020
> QAbstractItemView::viewportEvent(QEvent*) + 1626
> 28 libQtGui.4.5.1.dylib 0x0113569e
> QTreeView::viewportEvent(QEvent*) + 580
> 29 libQtGui.4.5.1.dylib 0x01299510
> QAbstractScrollAreaFilter::eventFilter(QObject*, QEvent*) + 48
> 30 libQtCore.4.5.1.dylib 0x003d3d7a
> QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*,
> QEvent*) + 144
> 31 libQtGui.4.5.1.dylib 0x00c66ca7
> QApplicationPrivate::notify_helper(QObject*, QEvent*) + 135
> 32 libQtGui.4.5.1.dylib 0x00c6ff64
> QApplication::notify(QObject*, QEvent*) + 3348
> 33 libQtCore.4.5.1.dylib 0x003d3c31
> QCoreApplication::notifyInternal(QObject*, QEvent*) + 99
> 34 libQtGui.4.5.1.dylib 0x00c09641
> QApplicationPrivate
> ::globalEventProcessor(OpaqueEventHandlerCallRef*, OpaqueEventRef*,
> void*) + 4711
> 35 com.apple.HIToolbox 0x932c911d
> DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
> HandlerCallRec*) + 1181
> 36 com.apple.HIToolbox 0x932c855b
> SendEventToEventTargetInternal(OpaqueEventRef*,
> OpaqueEventTargetRef*, HandlerCallRec*) + 405
> 37 com.apple.HIToolbox 0x932e4eac SendEventToEventTarget
> + 52
> 38 libQtGui.4.5.1.dylib 0x00c1911f
> QWidgetPrivate::qt_window_event(OpaqueEventHandlerCallRef*,
> OpaqueEventRef*, void*) + 1521
> 39 com.apple.HIToolbox 0x932c911d
> DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
> HandlerCallRec*) + 1181
> 40 com.apple.HIToolbox 0x932c855b
> SendEventToEventTargetInternal(OpaqueEventRef*,
> OpaqueEventTargetRef*, HandlerCallRec*) + 405
> 41 com.apple.HIToolbox 0x932e4eac SendEventToEventTarget
> + 52
> 42 com.apple.HIToolbox 0x932f7088
> ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*,
> OpaqueEventRef*, void*) + 1208
> 43 com.apple.HIToolbox 0x932c94d6
> DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*,
> HandlerCallRec*) + 2134
> 44 com.apple.HIToolbox 0x932c855b
> SendEventToEventTargetInternal(OpaqueEventRef*,
> OpaqueEventTargetRef*, HandlerCallRec*) + 405
> 45 com.apple.HIToolbox 0x932e4eac SendEventToEventTarget
> + 52
> 46 libQtGui.4.5.1.dylib 0x00c1c1f5
> QEventDispatcherMac
> ::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 589
> 47 libQtCore.4.5.1.dylib 0x003d3495
> QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 63
> 48 libQtCore.4.5.1.dylib 0x003d361b
> QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 149
> 49 libQtCore.4.5.1.dylib 0x003d4e14
> QCoreApplication::exec() + 160
> 50 com.nokia.qtcreator 0x000080ec main + 5008
> 51 com.nokia.qtcreator 0x00004d1a _start + 216
> 52 com.nokia.qtcreator 0x00004c41 start + 41
>
> Thread 1:
> 0 libSystem.B.dylib 0x959086fa select$DARWIN_EXTSN + 10
> 1 libSystem.B.dylib 0x958ea155 _pthread_start + 321
> 2 libSystem.B.dylib 0x958ea012 thread_start + 34
>
> Thread 2:
> 0 libSystem.B.dylib 0x958b92e6
> semaphore_timedwait_signal_trap + 10
> 1 libSystem.B.dylib 0x958eb2af _pthread_cond_wait + 1244
> 2 libSystem.B.dylib 0x95935aab pthread_cond_timedwait
> + 47
> 3 libQtCore.4.5.1.dylib 0x002f44f6
> QWaitCondition::wait(QMutex*, unsigned long) + 274
> 4 libQtCore.4.5.1.dylib 0x002eb5cb
> QThreadPoolThread::run() + 493
> 5 libQtCore.4.5.1.dylib 0x002f3134
> QThreadPrivate::start(void*) + 202
> 6 libSystem.B.dylib 0x958ea155 _pthread_start + 321
> 7 libSystem.B.dylib 0x958ea012 thread_start + 34
>
> Thread 3:
> 0 libSystem.B.dylib 0x958f03ca select$DARWIN_EXTSN
> $NOCANCEL + 10
> 1 libQtCore.4.5.1.dylib 0x003b51f8 QProcessManager::run()
> + 116
> 2 libQtCore.4.5.1.dylib 0x002f3134
> QThreadPrivate::start(void*) + 202
> 3 libSystem.B.dylib 0x958ea155 _pthread_start + 321
> 4 libSystem.B.dylib 0x958ea012 thread_start + 34
>
> Thread 4:
> 0 libSystem.B.dylib 0x958e99c6 kevent + 10
> 1 libQtCore.4.5.1.dylib 0x002f3134
> QThreadPrivate::start(void*) + 202
> 2 libSystem.B.dylib 0x958ea155 _pthread_start + 321
> 3 libSystem.B.dylib 0x958ea012 thread_start + 34
>
> Thread 0 crashed with X86 Thread State (32-bit):
> eax: 0x00000000 ebx: 0x959a5639 ecx: 0xbfffd88c edx: 0x95926e42
> edi: 0x00000000 esi: 0x00000003 ebp: 0xbfffd8a8 esp: 0xbfffd88c
> ss: 0x0000001f efl: 0x00000286 eip: 0x95926e42 cs: 0x00000007
> ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037
> cr2: 0xa06d5880
>
>
>
> 2009/6/2 Eike Ziller <eike.ziller at nokia.com>
>
>
> On Jun 1, 2009, at 2:17 PM, ext Jonathan Neuhaus wrote:
>
> > Hello,
> >
> > I am actually trying to integrate a custom widget into QtCreator.
> > I managed to make it work with Qt Designer, but can't get it work in
> > QtCreator.
> > I put the dll (on Windows) / dylib (on MacOS) in 2009.02/bin/
> > designer on Windows / QtCreator.app/Contents/MacOS/designer on
> MacOS.
> >
> >
> > My custom widget uses Qt SDK 4.5.1 and I am using Qt Creator 1.1.0
> > (based on Qt 4.5.1) and integration works with Qt Designer (based on
> > Qt 4.5.1).
> >
> > I tried to make it work under Windows XP and Mac OS X 10.5.7, but it
> > did not work on both.
> > On XP, the custom widget is not found and is not display in
> QtCreator.
>
> Compiling with msvc should fix it.
>
> >
> > On Mac OS, when I tried to switch to the designer, it just crashes.
>
> It would be helpful to see the detailed crash information from
> CrashReporter (Report..., Problem Details tab), or any other error log
> (e.g. output on "Console" application).
>
> Thanks, Eike
>
> --
> Eike Ziller
> Software Engineer
> Nokia, Qt Software
> Phone +49 (0)30 6392 3255
> Fax +49 (0)30 6392 3256
> E-mail eike.ziller at nokia.com
>
>
>
>
> _______________________________________________
> Qt-creator mailing list
> Qt-creator at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-creator
>
>
>
> <ATT00001.txt>
--
Eike Ziller
Software Engineer
Nokia, Qt Software
Phone +49 (0)30 6392 3255
Fax +49 (0)30 6392 3256
E-mail eike.ziller at nokia.com
More information about the Qt-creator-old
mailing list