标签:运行 实例 main -o widgets 联网 特殊 问题 python程序
前言本节我们将介绍messagebox的使用方法,messagebox可用在消息提示框、警告框、询问框、错误、关于等会话框。
messagebox是消息会话框,可以提示用户重点消息,并获取用户选择,便于控制程序在特殊情况下执行情况。
标准按钮类型如下
打开designer.exe,使用默认的Main Window创建,直接点击Create按钮即可
设计UI图如下,并保存为messagebox.ui
进入messagebox.py目录,输入pyuic5 -o ui_messagebox.py messagebox.ui
#?encoding=utf-8
import?sys
import?PyQt5.QtWidgets?as?qw
import?ui_msgbox
class?myForm(qw.QWidget,?ui_msgbox.Ui_Form):
????def?__init__(self):
????????super().__init__()
????????self.setupUi(self)
????????self.btn_info.clicked.connect(self.btn_info_cb)
????????self.btn_warn.clicked.connect(self.btn_warn_cb)
????????self.btn_critical.clicked.connect(self.btn_critical_cb)
????????self.btn_question.clicked.connect(self.btn_question_cb)
????????self.btn_about.clicked.connect(self.btn_about_cb)
????def?btn_info_cb(self):
????????print("ready?to?show?messagebox.")
????????res?=?qw.QMessageBox.information(self,?"提示",?"我是info类型的MessageBox!",?qw.QMessageBox.Yes?|?qw.QMessageBox.No)
????????if?(qw.QMessageBox.Yes?==?res):
????????????print("[info]?you?clicked?yes?button!")
????????elif?(qw.QMessageBox.No?==?res):
????????????print("[info]?you?clicked?no?button!")
????def?btn_warn_cb(self):
????????res?=?qw.QMessageBox.warning(self,?"警告",?"我是warn类型的MessageBox!",?qw.QMessageBox.Yes?|?qw.QMessageBox.No)
????????if?(qw.QMessageBox.Yes?==?res):
????????????print("[warn]?you?clicked?yes?button!")
????????elif?(qw.QMessageBox.No?==?res):
????????????print("[warn]?you?clicked?no?button!")
????def?btn_critical_cb(self):
????????res?=?qw.QMessageBox.critical(self,?"错误",?"我是critical类型的MessageBox!",?qw.QMessageBox.Abort?|?qw.QMessageBox.Cancel)
????????if?(qw.QMessageBox.Abort?==?res):
????????????print("[critical]?you?clicked?Abort?button!")
????????elif?(qw.QMessageBox.Cancel?==?res):
????????????print("[critical]?you?clicked?Cancel?button!")
????def?btn_question_cb(self):
????????res?=?qw.QMessageBox.question(self,?"询问",?"我是critical类型的MessageBox",?qw.QMessageBox.Retry?|?qw.QMessageBox.Ok)
????????if?(qw.QMessageBox.Retry?==?res):
????????????print("[question]?you?clicked?Retry?button!")
????????elif?(qw.QMessageBox.Ok?==?res):
????????????print("[question]?you?clicked?Ok?button!")
????def?btn_about_cb(self):
????????qw.QMessageBox.about(self,?"关于",?"我是critical类型的MessageBox!")
if?__name__?==?‘__main__‘:
????app?=?qw.QApplication(sys.argv)
????w?=?myForm()
????w.show()
????sys.exit(app.exec_())
首先设置为上一步用QT Designer设计的按钮,添加对应的messagebox,并获取用户点其情况,通过控制台log显示。
进入文件目录,输入python3 run.py,即可弹出上述用QT Designer设计出来的页面。
点击info button:
点击warn button:
点击critical button:
点击question button:
点击about button:
如您在使用过程中有任何问题,请加QQ群进一步交流,也可以github提Issue。
QQ交流群:906015840 (备注:物联网项目交流)
获取源码:关注公众号,回复pyqt5即可
一叶孤沙出品:一沙一世界,一叶一菩提
标签:运行 实例 main -o widgets 联网 特殊 问题 python程序
原文地址:https://blog.51cto.com/14616151/2468724