У меня есть три радиокнопки, которые должны выбирать временные интервалы 1с 10с и любые. Я создал следующие подключения, но получаю сообщение об ошибке, что аргумент 1 имеет неожиданный тип «NoneType».
self.radioButton_1s.clicked.connect(self.setInterval(1))
self.radioButton_10s.clicked.connect(self.setInterval(10))
self.radioButton_any.clicked.connect(self.setInterval(0))
Выполнение int-cast как self.setInterval(int(1)) не имеет значения.
Вызванный метод следующий. Я знаю, что математика не жесткая, но проблема не в этом. Обычно doubleSpinBox читает такие значения, как 0,25 0,1 или подобные.
@QtCore.pyqtSlot()
def setInterval(self,i):
if i == 1:
n = 1/self.doubleSpinBox_TimeIndexStep.value() #TODO: use math.floor/ceiling to geht integers
self.spinBox_CopyInterval.setEnabled
self.spinBox_CopyInterval.setValue(n)
elif i == 10:
n = 10/self.doubleSpinBox_TimeIndexStep.value()
self.spinBox_CopyInterval.setEnabled
self.spinBox_CopyInterval.setValue(n)
Что мне нужно изменить, чтобы установить правильное значение?
connect
ожидает функцию или вызываемый объект. В этом случае вы должны сделать что-то вродеself.radioButton_1s.clicked.connect(lambda: self.setInterval(1))
или, может быть,self.radioButton_1s.clicked.connect(lambda *args: self.setInterval(1))
- person Kevin   schedule 23.01.2015