接上一篇,本篇介绍输入对话框QInputDialog和消息对话框QMessageBox。
QInputDialog
QInputDialog有单行字符串输入、整数输入、浮点数输入和下拉列表输入等几种方式。
- 字符串输入
函数QInputDialog.getText()显示一个字符串输入对话框,传递的参数包括对话框的标题、提示的标签文字、默认输入、编辑框响应等。text是获取到的文本,ok标识输入是否有效。
QLineEdit.Normal是一个枚举类型,表示响应模式,控制编辑框上文字的显示方式。正常是Normal,如果是输入密码可使用QLineEdit.Password。
def btnStrInput_clicked(self):
title = "输入字符串对话框"
label = "请输入对话框"
inputText = "新建文本文档.txt"
echoMode = QLineEdit.Normal
text, ok = QInputDialog.getText(self, title, label, echoMode, inputText)
if ok:
self.textBrowser.append(text)
- 整数输入
函数QInputDialog.getInt()显示一个整数输入对话框,输入整数对话框是使用一个QSpinBox整数输入组件。参数包括数值范围、步长、初始值。
def btnIntInput_clicked(self):
title = "输入整数对话框"
label = "请输入字体大小"
defaultFontSize = self.textBrowser.font().pointSize()
minSize = 4
maxSize = 30
stepSize = 1
fontSize, ok = QInputDialog.getInt(self, title, label, defaultFontSize, minSize, maxSize, stepSize)
if ok:
font = self.textBrowser.font()
font.setPointSize(fontSize)
self.textBrowser.setFont(font)
- 输入浮点数
函数QInputDialog.getFloat()显示一个浮点数对话框。与QInputDialog.getInt()类似,增加了一个小数位数。
def btnFloatInput_clicked(self):
title = "输入浮点数对话框"
label = "请输入一个浮点数"
defaultFloat = 1.314
minSize = 0
maxSize = 3000
decimals = 2
inputFloat, ok = QInputDialog.getDouble(self, title, label, defaultFloat, minSize, maxSize, decimals)
if ok:
floatValue = "输入一个浮点数:%2f" % inputFloat
self.textBrowser.append(floatValue)
- 下拉列表输入
函数QInputDialog.getItem()显示一个下拉列表对话框,使用一个QComboBox组件。
def btnItemInput_clicked(self):
title = "输入浮点数对话框"
label = "请输入一个浮点数"
currentIndex = 0
editable = True
items = ["优秀", "良好", "合格", "不合格"]
text, ok = QInputDialog.getItem(self, title, label, items, currentIndex, editable)
if ok:
self.textBrowser.append(text)
QMessageBox
- 消息对话框用于显示警告、错误、消息提示等。其中warning()、information()、critical()、about()这几个函数类似参数相同。例如:
QMessageBox.warning(self, title, label)
parent=self:指定对话框的父窗口,指定之后对话框弹出之后会自动显示在父窗口的上方中间位置。
title:是对话框标题。
label:是提示的信息。
def btnWarning_clicked(self):
title = "Warning消息框"
label = "文件内容已被修改,是否保存"
QMessageBox.warning(self, title, label)
def btnInformation_clicked(self):
title = "Information消息框"
label = "文件保存成功"
QMessageBox.information(self, title, label)
def btnCritical_clicked(self):
title = "Critical消息框"
label = "程序出现灾难性错误"
QMessageBox.critical(self, title, label)
def btnAbout_clicked(self):
title = "About消息框"
label = "关于软件"
QMessageBox.about(self, title, label)
- 确认选择对话框QMessageBox.question()用于打开一个确认对话框,并提供一个Yes,No等按钮。
question()会返回一个QMessageBox.StandardButton枚举类型变量,表示哪个按钮被按下。
def btnQuestion_clicked(self):
title = "Question消息框"
label = "是否保存文件"
defaultButton = QMessageBox.NoButton
result = QMessageBox.question(self, title, label, QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, defaultButton)
if result == QMessageBox.Yes:
self.textBrowser.append("文件已经保存")
if result == QMessageBox.No:
self.textBrowser.append("文件未保存")
if result == QMessageBox.Cancel:
self.textBrowser.append("文件保存被取消")
一个简单的案例介绍对话框的使用,如果需要源代码可关注私聊,感谢支持!!!!
本文暂时没有评论,来添加一个吧(●'◡'●)