在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详解》)。
运行后界面如下:
可以看到增加了一个“关闭”按钮。