"class QButtonGroup' has no member named 'setTitle'"

Last edited on

Symptom

The compilation of Squish from sources with Qt fails with the following error:

/opt/qt/4.8.4/include/QtGui/qgridlayout.h:96:10: note: void QGridLayout::addWidget(QWidget*, int, int, int, int, Qt::Alignment)
/opt/qt/4.8.4/include/QtGui/qgridlayout.h:96:10: note: no known conversion for argument 1 from 'QButtonGroup*' to 'QWidget*'
In file included from /src/squish/gui/finddialogbase.cpp:1:0:
/src/squish/src/gui/finddialogbase.h: In member function 'void Squish::Ui_FindDialogBase::retranslateUi(QDialog*)':
/src/squish/src/gui/finddialogbase.h:200:23: error: 'class QButtonGroup' has no member named 'setTitle'

Possible Cause and Suggested Solution

Unless compiled with Qt 3 the classic (now deprecated IDE) relies on the Qt3Support module of Qt 4. And the uic3 tool is supposed to be be able to process .ui files from Qt 3. However, a few users ran into cases where the Qt3Support support of uic3 was not configured correctly. Possibly because of missing or moved files. As a result an attempt to compile the generated code will result in above error.

As the classic Qt-based IDE has been long superseded by the Eclipsed-based version the old component can simply be disabled. Same for the Wrapper Explorer GUI. Simply invoke the configure script again with these two switches:

--disable-ide --disable-explorer

The customer download area carries squishide packages that contain a standalone version of the new IDE.