2014-01-16 30 views
1

我有幾十個QAction對象在小部件的構造函數中創建而不給它們賦值。可以在構造函數中創建QAction作爲分隔符

許多QAction特性可以直接在構造(例如shortcut,信號連接,statusTip等)來設定。

是否可以將QAction設置爲構造函數中的分隔符以及如何執行?

P.S.我認爲這不是一個語言特定的問題,但FYI這裏是我正在使用的:

Python 2.7.6; PyQt4 4.10.3; Qt 4.8.5。

回答

2

簡短的回答是:不。

的PyQt的support for properties只允許你在構造函數中設置Qt的定義的屬性。 properties section for QAction的快速瀏覽確認沒有separator屬性,所以您不能以這種方式設置它。

當然,這有一個非常簡單明顯的解決方法。只需定義自己的QAction的子類,並進行必要的構造,在其__init__

class Action(QtGui.QAction): 
    def __init__(self, *args, **kwargs): 
     super(Action, self).__init__(*args, **kwargs) 
     self.setSeparator(kwargs.get('separator', False)) 
+0

謝謝。我忘了檢查QT文檔 - 只有PyQt4。 –

相關問題