Как изменить текст по умолчанию и функцию кнопок ОК и Отмена в QInputDialog - PullRequest
1 голос
/ 05 августа 2020

Я использую эту строку в своем коде, чтобы открыть 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))

1 Ответ

2 голосов
/ 05 августа 2020

Используя метод stati c 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")

введите описание изображения здесь

...