[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