from PySide6.QtCore import Qt
from PySide6.QtWidgets import QWidget, QVBoxLayout, QApplication, QPushButton, QInputDialog, QLineEdit
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.btn = QPushButton('获取一个整型数字')
self.btn2 = QPushButton('获取一个双精度数字')
self.btn3 = QPushButton('获取一个Item')
self.btn4 = QPushButton('获取单行文字')
self.btn5 = QPushButton('获取多行文字')
self.btn.clicked.connect(self.getIntDialog)
self.btn2.clicked.connect(self.getDoubleDialog)
self.btn3.clicked.connect(lambda: print(QInputDialog.getItem(self, '标题', '内容', ['a', 'b', 'c'], 0, True)))
self.btn4.clicked.connect(
lambda: print(QInputDialog.getText(self, '标题', '内容', QLineEdit.EchoMode.Normal, '默认值')))
self.btn5.clicked.connect(lambda: print(QInputDialog.getMultiLineText(self, '标题', '内容')))
reply = QInputDialog
reply2 = QInputDialog
self.mainLayout = QVBoxLayout()
self.mainLayout.addWidget(self.btn)
self.mainLayout.addWidget(self.btn2)
self.mainLayout.addWidget(self.btn3)
self.mainLayout.addWidget(self.btn4)
self.mainLayout.addWidget(self.btn5)
self.setLayout(self.mainLayout)
def getIntDialog(self):
reply, Ok = QInputDialog.getInt(self, '标题', '整型数字', 1, 0, 100, 1)
if Ok:
print(reply)
def getDoubleDialog(self):
reply2, Ok = QInputDialog.getDouble(self, '标题', '整型数字', 1.5, 0, 100, 1)
if Ok:
print(reply2)
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec()