PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

本文主要介绍PyQt界面实现中常用的消息弹出对话框,提供用户输入的输入框,打开文件获取文件/目录路径的文件对话框。学习这三种控件前,先想一下它们使用的主要场景:

  

,1、消息弹出对话框。程序遇到问题需要退出需要弹出错误提示框,程序执行可能造成的风险需要弹出警告窗口提示用户是否进一步执行等等。

  

,2、用户输入框。比如常见的让用户选择执行的程序分支,是/否等等。

  

,3、文件对话框。获取本地文件或者文件夹的完整路径甚至是直接打开文件显示文件内容。

  

,本文主要针对这三种控件的主要场景进行介绍。

  

<强> QMessageBox:弹出对话框控件

  

,QMessageBox是一种通用的弹出式对话框,用于显示消息,允许用户通过单击不同的标准按钮对消息进行反馈。弹出式对话框有很多类型,如提示,警告,错误,询问,关于等对话框。这些不同类型的QMessageBox对话框只是显示时图标不同,其他功能一样。

  

<强>,QMessageBox类中常用方法

  

,,,信息(QWdiget父、标题、文本、按钮、defaultButton):弹出消息对话框。

  

,,,问题(QWidget父、标题、文本、按钮、defaultButton):弹出问答对话框

  

,,,警告(QWidget父、标题、文本、按钮、defaultButton):弹出警告对话框

  

,,,关键(QWidget父、标题、文本、按钮、defaultButton):弹出严重错误对话框

  

,,,关于(QWidget父、标题、文本):弹出关于对话

  

<强>,参数解释如下:

  

,,,父:指定的父窗口控件。

  

,,,标题:表示对话框标题。

  

,,,文字:表示对话框文本。

  

,,,按钮:表示多个标准按钮,默认为好按钮。

  

,,,defaultButton表示默认选中的标准按钮,默认选中第一个标准按钮。

  

<强>,其他方法如下:

  

,,,setTitle():设置标题

  

,,,setText():设置正文消息

  

,,,setIcon():设置弹出对话框的图片

  

  

,,,QMessage。好同意操作,QMessage.Cancel 取消操作,QMessage.Yes 同意操作,QMessage.No 取消操作,QMessage.Abort 终止操作,QMessage。重试重试操作,QMessage.Ignore 忽略操作

  

,5种常用的消息对话框及其显示效果

  

,(1)消息对话框,用来告诉用户关于提示信息

  

,,,QMessageBox.information(自我,“信息提示对话框”、“前方右拐到达目的地”,QMessageBox。是的| QMessageBox.No)

  

 PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

,(2)提问对话框,用来告诉用户关于提问消息。

  

,QMessageBox。问题(自我,“提问对话框”,“你要继续搞测试吗?”,QMessageBox。是的| QMessageBox.No)

  

, PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

(3)警告对话框,用来告诉用户关于不寻常的错误消息。

  

,QMessageBox。警告(自我,“警告对话框”、“继续执行会导致系统重启,你确定要继续?”,QMessageBox。是的| QMessageBox.No)

  

,  PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

(4)严重错误对话框,用来告诉用户关于严重的错误消息。

  

,QMessageBox。关键(自我,“严重错误对话框”,“数组越界,程序异常退出”,QMessageBox。是的| QMessageBox.No)

  

 PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

,(5)关于对话框

  

,QMessageBox。关于(自我,“关于对话框”,“你的Windows系统是DOS1.0”)

  

 PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法

  

上述程序完整代码如下:

        # - * -编码:utf - 8 - *   导入系统   从PyQt5进口QtCore QtGui QtWidgets   从PyQt5。QtWidgets进口QApplication QMainWindow QMessageBox   类Ui_Form(对象):   def setupUi(自我,形式):   Form.setObjectName(“形式”)   的形式。调整(431、166)   自我。按钮=QtWidgets.QPushButton(形式)   self.pushButton.setGeometry (QtCore。QRect (160、50、91、41))   字体=QtGui.QFont ()   字体。setFamily (“YaHei Consolas混合”)   font.setPointSize (10)   self.pushButton.setFont(字体)   self.pushButton.setObjectName(按钮)   self.retranslateUi(形式)   QtCore.QMetaObject.connectSlotsByName(形式)   def retranslateUi(自我,形式):   _translate=QtCore.QCoreApplication.translate   的形式。setWindowTitle (_translate(“形式”、“对话框"))   self.pushButton。setText (_translate(“形式”、“弹出对话框"))   类MyMainForm (QMainWindow Ui_Form):   def __init__(自我,父=None):   超级(MyMainForm,自我). __init__(父)   self.setupUi(自我)   self.pushButton.clicked.connect (self.showMsg)   def showMsg(自我):   QMessageBox.information(自我,“信息提示对话框”、“前方右拐到达目的地”,QMessageBox。是的| QMessageBox.No QMessageBox.Yes)   QMessageBox。问题(自我,“提问对话框”,“你要继续搞测试吗?”,QMessageBox。是的| QMessageBox.No)   QMessageBox。警告(自我,“警告对话框”、“继续执行会导致系统重启,你确定要继续?”,QMessageBox。是的| QMessageBox.No)   QMessageBox。关键(自我,“严重错误对话框”,“数组越界,程序异常退出”,QMessageBox。是的| QMessageBox.No,)   QMessageBox。关于(自我,“关于对话框”,“你的Windows系统是DOS1.0”)   if __name__==癬_main__”:   应用=QApplication (sys.argv)   myWin=MyMainForm ()   myWin.show ()   sys.exit (app.exec_ ())

PyQt5基本控件使用之消息弹出,用户输入,文件对话框的使用方法