Qt for Python
[Qt QML] 如何在QML裡建立與Python物件的connections
前一篇文章,[Qt QML] 如何呼叫Python class functions,示範了如何從QML呼叫Python的類別函式。這一篇延續下去,也跟QML與C++的系列文章一樣,我們看看如何建立QML跟Python的connection,其目的就是當Python物件發生一件event時,可以透過connection執行在QML這一層的slot function。 跟[Qt QML] 如何在QML裡建立與C++物件的connections這篇文章裡的範例程式一樣,點擊畫面中的按鈕,等待三秒鐘後,視窗背景變成紅色。QML程式碼的部分,一樣沒有修改,僅用Python實作相同的邏輯。 Python程式碼部分 跟C++的部分一樣,首先宣告一個Qt signal名為eventTriggered()。 eventTriggered = Signal() 當UI點擊按鈕時,呼叫triggerEvent()這個Python class function,指定三秒後去觸發上面的eventTriggered() @Slot(int) def triggerEvent(self, second