У меня есть три радиобатареи, которые должны выбирать предварительные интервалы времени 1 с 10 и любые. Я создал следующие соединяется, но я получаю сообщение об ошибке, что аргумент 1 имеет неожиданный тип «NoneType»Python3, pyqt5: NoneType error при установке значения в подключении radioButton
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 отливка как self.setInterval (интермедиат (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)
Что мне нужно изменить, чтобы установить правильное значение?
Я не работаю с pyqt, но я уверен, что 'connect' ожидает функцию или вызываемую. В этом случае вы должны делать что-то вроде 'self.radioButton_1s.clicked.connect (lambda: self.setInterval (1))' или, возможно, 'self.radioButton_1s.clicked.connect (lambda * args: self.setInterval (1)) ' – Kevin
self.radioButton_1s.clicked.connect (lambda * args: self.setInterval (1)) отлично работает. Спасибо. Не могли бы вы сформулировать это как ответ, чтобы я мог оценить его правильно? – camaro
Хорошо. Я не хотел публиковать ответ, если бы не знал, что это действительно будет полезно, и это выглядит так :-) – Kevin