PyQt5之QInputDialog标准对话框
QInputDialog控件是一个标准对话框,由一个文本和两个按钮组成。当用户单击OK按钮后,父窗口可以收集通过QInputDialog控件输入的信息。
一、QInputDialog类中的常用方法
方法 | 描述 |
---|---|
getInt() | 从控件中获取标准整数输入 |
getDouble() | 从控件中获取标准浮点数输入 |
getText() | 从控件中获取标准字符串输入 |
getItem() | 从控件中获取列表里的选项输入 |
二、QInputDialog的使用
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 400)
self.setWindowTitle('QInputDialog的使用')
self.btn1 = QPushButton('获取列表里的选项')
self.btn1.clicked.connect(self.getItem)
self.l1 = QLineEdit()
self.btn2 = QPushButton('获取字符串')
self.btn2.clicked.connect(self.getText)
self.l2 = QLineEdit()
self.btn3 = QPushButton('获取整数')
self.btn3.clicked.connect(self.getInt)
self.l3 = QLineEdit()
self.btn4 = QPushButton('获取浮点数')
self.btn4.clicked.connect(self.getDouble)
self.l4 = QLineEdit()
layout = QFormLayout()
layout.addRow(self.btn1,self.l1)
layout.addRow(self.btn2,self.l2)
layout.addRow(self.btn3,self.l3)
layout.addRow(self.btn4,self.l4)
self.setLayout(layout)
def getItem(self):
items = ('c','c++','java','python')
item ,ok = QInputDialog.getItem(self,"select input dialog",'语言列表',items,0,False)
if ok and item:
self.l1.setText(item)
def getText(self):
text ,ok = QInputDialog.getText(self,"text input dialog",'输入姓名:')
if ok:
self.l2.setText(str(text))
def getInt(self):
num, ok = QInputDialog.getInt(self, "int input dialog", '输入整数:')
if ok:
self.l3.setText(str(num))
def getDouble(self):
num1, ok = QInputDialog.getDouble(self, "double input dialog", '输入浮点数:')
if ok:
self.l4.setText(str(num1))
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())
运行结果如下: