TypeError: собственный сигнал Qt не может быть вызван, когда я пытаюсь преобразовать pyqt4 в pyqt5 [duplicate]

var str = "my name is saurabh ";
var empStr='',finalString='';
var chunk=[];
function reverse(str){
var i,j=0,n=str.length;
    for(i=0;i<n;++i){
        if(str[i]===' '){
            chunk[j]=empStr;
            empStr = '';
            j++;
        }else{
            empStr=empStr+str[i];
        }
    }
    for(var z=chunk.length-1;z>=0;z--){
        finalString = finalString +' '+ chunk[z];
        console.log(finalString);
    }
    return true;
}
reverse(str);
8
задан Jamie Bullock 27 October 2010 в 10:03
поделиться

3 ответа

Вы можете использовать PyQt новые сигналы стиля , которые являются менее подробными:

self.connect(dial, SIGNAL("valueChanged(int)"), spinbox.setValue)

Становится:

dial.valueChanged.connect(spinbox.setValue)
28
ответ дан danodonovan 20 August 2018 в 09:18
поделиться

Ответ Luper намного лучше, чем этот, но для полноты ...

Ужасный «старый стиль» синтаксис - это анахронизм из мира C++ - просто посмотрите на синтаксис, с которым эти парни должны работать! Yucky ...

2
ответ дан Community 20 August 2018 в 09:18
поделиться

Еще более короткий путь - назначить имя сигнала функции в аргументах ключевого слова конструктора, например. QDial(valueChanged=spinbox.setValue). PyQt автоматически подключит сигнал valueChanged() к spinbox.setValue().

1
ответ дан Ramchandra Apte 20 August 2018 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: