0

我想更改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
4

1 回答 1

3

QInputDialog本身包含方法setOkButtonText,但是,您使用的静态方法会创建一个对象setCancelButtonText,该对象仅在方法内部可见,您无法访问。gitIntQInputDialoggetInt

我建议创建自己的InputIntegerDialog(QtGui.QInputDialog),您必须在其上手动添加 spinBox 并设置其属性。然后您将能够更改两个按钮上的文本,因为对话框对象在您的控制之下,而不是在 PyQt 中的某个地方创建。

顺便说一句,如果您只想翻译标准按钮,您可能希望看到这个问题

于 2013-04-06T12:08:43.197 回答