简体   繁体   中英

PyQt5: How can change QInputDialog OkButtonText?

First, I am a Korean Student. So I'm not good at English, Please excuse me.

I'm Using PyQt5. But I don't know About "How to use setOkButtonText() "

How to use setOkButtonText() or setCancelButtonText() ?

and Where I inserting those codes?

Below is part of my code:

import sys

import PyQt5
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5 import uic

class MainDialog(QDialog):
    def __init__(self):
        QDialog.__init__(self, None)
        uic.loadUi(WdmUI, self)
        self.depositButton.clicked.connect(self.depositClicked)
        self.withdrawButton.clicked.connect(self.withdrawClicked)
    def withdrawClicked(self):
        while True:
            money1, ok1 = QInputDialog.getInt\
                (self, "Withdraw", "<font face=\"Malgun Gothic\">Input withdraw amount:</font>", 1000, 0, 10000001)
            QInputDialog.setOkButtonText(self, "OKOK")

And this is the error it produces:

TypeError: setOkButtonText(self, str): first argument of unbound method must have type 'QInputDialog'

Try it:

import sys
from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QHBoxLayout,
                             QInputDialog, QApplication, QDialog)


class Example(QWidget):        
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Input dialog')
        
        btn = QPushButton('Dialog')
        btn.clicked.connect(self.showDialog)

        self.le = QLineEdit(self)
        
        layout = QHBoxLayout(self)
        layout.addWidget(btn)
        layout.addWidget(self.le)

    def showDialog(self):
        dialog = QInputDialog(self)
        dialog.setWindowTitle("QInputDialog")
        dialog.setLabelText("Enter Value")
        dialog.setOkButtonText("OKOK")                         # +++
        dialog.setCancelButtonText("NOT OK")                   # +++
        if dialog.exec_() == QDialog.Accepted:
            text = dialog.textValue()
            self.le.setText(text)
        else:
            print("canceled")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())

在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM