#python #pyqt #pyqt5
#python #pyqt #pyqt5
Вопрос:
Во-первых, я корейский студент. Итак, я не силен в английском, пожалуйста, извините меня.
Я использую PyQt5. Но я не знаю о «Как использовать setOkButtonText()
«
Как использовать setOkButtonText()
или setCancelButtonText()
?
и куда я вставляю эти коды?
Ниже приведена часть моего кода:
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")
И это ошибка, которую он выдает:
Ошибка типа: setOkButtonText(self, str): первый аргумент несвязанного метода должен иметь тип ‘QInputDialog’
Ответ №1:
Попробуйте:
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_())
Комментарии:
1. Спасибо. Могу ли я изменить тип QInputDialog на getInt? Я пытался
dialog.getInt()
. Но это создать новое окно и не применимоsetOkButtonText
илиsetCancelButtonText
.