Qt5 build missing signature in DICOM settings

@cpinter, @jcfr looks like a compatibility issue with the property wrapping after this commit. It works for me on gcc5.4 build but not with gcc6.3.

Python 2.7.13 (default, Aug 14 2017, 18:33:39) 
[GCC 6.3.0 20170516] on linux2
>>> 
Traceback (most recent call last):
  File "/home/researcher/Slicer-superbuild/Slicer-build/lib/Slicer-4.7/qt-scripted-modules/DICOM.py", line 90, in performPostModuleDiscoveryTasks
    self.settingsPanel = DICOMSettingsPanel()
  File "/home/researcher/Slicer-superbuild/Slicer-build/lib/Slicer-4.7/qt-scripted-modules/DICOM.py", line 145, in __init__
    self.ui = _ui_DICOMSettingsPanel(self)
  File "/home/researcher/Slicer-superbuild/Slicer-build/lib/Slicer-4.7/qt-scripted-modules/DICOM.py", line 128, in __init__
    "DICOM/automaticallyLoadReferences", loadReferencesComboBox, "currentUserDataAsString", qt.SIGNAL("currentIndexChanged (int)"))
ValueError: Could not find matching overload for given arguments:
('DICOM/automaticallyLoadReferences', ctkComboBox(0x5560310dce60) , 'currentUserDataAsString', u'2currentIndexChanged (int)')
 The following slots are available:
registerProperty(QString settingKey, QObject object, QString objectProperty, QByteArray propertySignal, QString settingLabel, SettingOptions options, QSettings settings) -> void
registerProperty(QString settingKey, QObject object, QString objectProperty, QByteArray propertySignal, QString settingLabel, SettingOptions options) -> void
registerProperty(QString settingKey, QObject object, QString objectProperty, QByteArray propertySignal, QString settingLabel) -> void
registerProperty(QString settingKey, QObject object, QString objectProperty, QByteArray propertySignal) -> void

It’s strange that gcc version affects wrapping. If I understand correctly this does not affect the nightly right?

1 Like

Sorry! You’re right @cpinter it’s not the version of gcc it’s the version of Qt. The error happens on my Qt5 builds, not on Qt4, so no it doesn’t affect the nightly builds.