如何更改QDialogBu​​ttonBox中按钮的标题?

mat*_*teo 18 qt pyqt qt-designer

我添加了一个QDialogButtonBox带有默认取消确定按钮的按钮.

有没有办法改变这些按钮的标题?例如,OK应该变为Run.

kef*_*500 29

你必须在你的cpp文件中做一些轻微的编码:

ui->buttonBox->button(QDialogButtonBox::Ok)->setText("Run");
ui->buttonBox->button(QDialogButtonBox::Cancel)->setText("Exit");
Run Code Online (Sandbox Code Playgroud)

请注意,您可能还需要包含QPushButton标头:

#include <QPushButton>
Run Code Online (Sandbox Code Playgroud)

更新:

没注意到pyqt标签.我不熟悉Python(特别是PyQt),但我认为这应该可以完成这项工作:

self.ui.buttonBox.button(QDialogButtonBox.Ok).setText("Run")
self.ui.buttonBox.button(QDialogButtonBox.Cancel).setText("Cancel")
Run Code Online (Sandbox Code Playgroud)

此外,正如Kuba Ober所指出的,更改标准按钮的文本并不是最好的方法.最正确的方法是添加具有适当角色的自定义按钮.

self.ui.buttonBox.addButton("Run", QDialogButtonBox.ActionRole)
Run Code Online (Sandbox Code Playgroud)

  • 这是有效的,但不是最好的建议,因为股票按钮具有固定的含义.对于自定义按钮标题,只需将自定义按钮添加到按钮框即可. (3认同)
  • @ZF007。`setText` 方法在 PyQt5 中工作得很好 - 你的代码一定还有其他问题。 (2认同)