我想在我的QInputDialog
框中更改按钮的文本(确定,取消)。我怎样才能做到这一点?
我想用Python的gettext来做翻译,而不是Qt Linguist。
# Set maximum file size
def maximumFilesize(self):
# Get user input
maxsize, ok = QtGui.QInputDialog.getInt(self, "Maximum file size",
"Enter maximum file size in bytes:", self.maxsize, 1, 1073741824)
# If OK was clicked...
if ok:
if maxsize <= 0:
message = "Maximum file size cannot be less than 1."
QtGui.QMessageBox.critical(self, "Error", message)
return False
# Set new maximum file size
self.maxsize = maxsize
QInputDialog
本身包含方法setOkButtonText
和setCancelButtonText
,但是,您使用的静态方法gitInt
创建了一个QInputDialog
对象,该对象仅在getInt
方法内可见,并且您无法访问。
我建议你创建自己的InputIntegerDialog(QtGui.QInputDialog)
,你必须手动添加一个spinBox并设置它的属性。然后,您就可以更改两个按钮上的文本,因为对话框对象在您的控制之下,而不是在PyQt内部创建。
顺便说一句,如果你只想翻译标准按钮,你可能想看看this question。