1

我在我的代码中使用这一行来弹出 QInputDialog 并从用户那里获取输入。

但我想更改此弹出对话框上的按钮

def add(self):
    text, ok = QInputDialog.getText(self, " ", "Enter Value")

    if text == "" or text.isdigit() == False:
        print("Enter valid input")
        self.alert()
    else:
        print("ok value")
        self.ui.label_result.setText(str(text))
4

1 回答 1

2

使用静态方法QInputDialog::getText()很难修改按钮的文本,所以不要使用该类的对象并使用方法setOkButtonText()setCancelButtonText()

def add(self):
    dialog = QInputDialog(self)
    dialog.setWindowTitle(" ")
    dialog.setLabelText("Enter Value")
    dialog.setOkButtonText("Foo")
    dialog.setCancelButtonText("Bar")
    if dialog.exec_() == QDialog.Accepted:
        text = dialog.textValue()
        if text == "" or not text.isdigit():
            print("Enter valid input")
            self.alert()
        else:
            print("ok value")
            self.ui.label_result.setText(str(text))
    else:
        print("canceled")

在此处输入图像描述

于 2020-08-05T16:53:47.090 回答