在Qt Designer中可以預先定義標准按鈕,相關支持的標准按鈕請見《PyQt(Python+Qt)學習隨筆:Designer中的QDialogButtonBox的StandardButtons標准按鈕》。
除了標准按鈕,QDialogButtonBox允許增加自定義按鈕。如果要在標准按鈕之外增加自定義按鈕,可以使用addButton方法。
案例
在Qt Designer中定義了一個名為buttonBox的QDialogButtonBox,在其下選擇定義了所有標准按鈕,如圖:
該界面生成代碼的模塊為mainWinTest,對應的界面類為mainWinTest,從界面類派生類為Ui_mainWindowWin,其類定義及構造方法如下:
class Ui_mainWindowWin(QtWidgets.QMainWindow,mainWinTest.Ui_MainWindow):
def __init__(self):
super(Ui_mainWindowWin, self).__init__()
self.setupUi(self)
self.buttonBox.addButton("關閉",QDialogButtonBox.DestructiveRole) #增加自定義按鈕
以上代碼最后一行就是在buttonBox中增加了一個自定義按鈕,增加時帶兩個參數,第一個參數為按鈕上顯示文本,第二個參數為按鈕對應角色(關於按鈕角色請參考《PyQt(Python+Qt)學習隨筆:Designer中的QDialogButtonBox的ButtonRole詳解》)。
運行后界面如下:
可以看到增加了一個“關閉”按鈕。