'''
对话框:QDialog
QMessageBox 消息对话框
QColorDialog 颜色对话框
QFileDialog 文件对话框
QFontDialog 文字对话框
QInputDialog 获取用户输入信息对话框
pyqt 中的几种窗口
QMainWindow 有菜单 主窗口
QWidget 有菜单
QDialog 对话框,无菜单
点击button显示对话框,以下是QInputDialog对话框
方法:QInputDialog.getItem用来显示输入列表或元组
QInputDialog.getText用来录入文本
QInputDialog.getInt用来输入整数
'''
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QFormLayout,QPushButton,QWidget,QLineEdit,QInputDialog#垂直布局,按钮,界面,标签
class QDialogDemo(QWidget):
def __init__(self):
super().__init__()##继承父类构造函数
self.initUI()#初始化UI
def initUI(self):
self.setWindowTitle('QInputDialog案例')#窗口名称
#self.resize(600,600)#窗口大小
layout=QFormLayout()
button2 = QPushButton(self)
button2.setText('获取列表中选项')
button2.clicked.connect(self.getItem)
self.lineEdit2= QLineEdit(self) ##加self相当于全局
layout.addRow(button2,self.lineEdit2)
button3 = QPushButton(self)
button3.setText('获取字符串')
button3.clicked.connect(self.getText)
self.lineEdit3 = QLineEdit(self)
layout.addRow(button3, self.lineEdit3)
button4 = QPushButton(self)
button4.setText('获取整数')
button4.clicked.connect(self.getInt)
self.lineEdit4 = QLineEdit(self)
layout.addRow(button4, self.lineEdit4)
self.setLayout(layout)
def getItem(self):
items=('C','C++','Python','C#')
item,ok=QInputDialog.getItem(self,'请选择编程语言','语言列表',items)
if ok and item: #点击ok且不为空
self.lineEdit2.setText(item)
def getText(self):
text, ok = QInputDialog.getText(self, '文本输入', '输入姓名')
if ok and text:
self.lineEdit3.setText(text)
def getInt(self):
num, ok = QInputDialog.getInt(self, '整数输入', '输入年龄')
if ok and num:
self.lineEdit4.setText(str(num))
if __name__=='__main__': ##启动语句
app=QApplication(sys.argv)
main=QDialogDemo()
main.show()
sys.exit(app.exec_())