PyQt:如何更改QInputDialog按钮的文本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt:如何更改QInputDialog按钮的文本?相关的知识,希望对你有一定的参考价值。

我想在我的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本身包含方法setOkButtonTextsetCancelButtonText,但是,您使用的静态方法gitInt创建了一个QInputDialog对象,该对象仅在getInt方法内可见,并且您无法访问。

我建议你创建自己的InputIntegerDialog(QtGui.QInputDialog),你必须手动添加一个spinBox并设置它的属性。然后,您就可以更改两个按钮上的文本,因为对话框对象在您的控制之下,而不是在PyQt内部创建。

顺便说一句,如果你只想翻译标准按钮,你可能想看看this question

以上是关于PyQt:如何更改QInputDialog按钮的文本?的主要内容,如果未能解决你的问题,请参考以下文章

PyQt4入门

如何在 QGraphicsPolygonItem 中添加 QInputDialog.getText 文本?

如何从 QInputDialog 中删除所有按钮

PyQt 输入对话框,意外类型

pyqt5 继承python类可以传递信号函数吗

python如何生成可视化界面