2015-11-03 28 views
-1

我在Qt Designer中創建了一個MainWindow,並且我給出了其下拉菜單中的一些項的複選框。很明顯,當點擊某個下拉菜單中的項目時,我可以捕獲觸發信號。但是,請,任何人都可以告訴我如何測試點擊是否改變了各自複選框的狀態。顯然,只有點擊該項目並不總是會導致這種變化。每當狀態改變時,複選框本身是否會發出檢查/未檢查信號?我怎樣才能在Python中捕捉這樣的信號?QMenubar發出的信號PyQt中的複選框

OK,我想我的原油代碼不會有很大的幫助:

app = QApplication(sys.argv) 
mainwidget = loadUi("main.ui") 
mainwidget.show() 
mainwidget.ACTION.triggered.connect(EVENTHANDLER_IF_CLICKED) 
mainwidget.ACTION.stateChanged(int ???).connect(EVENTHANDLER_IF_CHECKED) 

我的想法是,以某種方式連接的操作,即操作表示菜單欄項目,要麼該事件處理器發出的信號。目前我打算在課外做這個。它適用於「點擊」事件。但我不知道如何用複選框來做到這一點。

+0

您需要提供一個[最小示例](http://stackoverflow.com/help/mcve) – Mel

+0

好的,我認爲我的原始代碼不會很有幫助: –

回答

0

儘量捕捉stateChanged(INT狀態)信號事件

+0

試過這個,但無法獲得語法正確。 –

0

好,似乎還有因爲我一直在尋找沒有這樣的信號。無論你對菜單欄中的複選框做什麼,都會發出不確定的觸發信號。但是,複選框的狀態似乎是菜單欄中項目的「布爾」屬性。因此,我發現依靠觸發的信號是有幫助的,並且在調用的事件處理程序中測試屬性。 感謝任何試圖幫助的人。