网站关键字被百度收录,设计图网址,wordpress带搜索主题,做读书笔记的网站利用PyCharm开发平台和Python编程语言开发PyQt5界面程序#xff0c;有时需要弹出信息框、警告框和咨询框#xff0c;使用win32api和win32con在windows系统可以#xff0c;但是在Linux系统不可以。为了解决这个问题#xff0c;可以使用QMessageBox。
# pip install pywin32…利用PyCharm开发平台和Python编程语言开发PyQt5界面程序有时需要弹出信息框、警告框和咨询框使用win32api和win32con在windows系统可以但是在Linux系统不可以。为了解决这个问题可以使用QMessageBox。
# pip install pywin32
import win32api
import win32con# 提醒OK消息框
win32api.MessageBox(0, 这是一个测试提醒OK消息框, 提醒,win32con.MB_OK)# 是否信息框
win32api.MessageBox(0, 这是一个测试是否信息框, 提醒,win32con.MB_YESNO)# 说明信息框
win32api.MessageBox(0, 这是一个测试说明信息框, 提醒,win32con.MB_HELP)# 警告信息框
win32api.MessageBox(0, 这是一个测试警告信息框, 提醒,win32con.MB_ICONWARNING)# 疑问信息框
win32api.MessageBox(0, 这是一个测试疑问信息框, 提醒,win32con.MB_ICONQUESTION)# 提示信息框
win32api.MessageBox(0, 这是一个测试提示信息框, 提醒,win32con.MB_ICONASTERISK)# 确认信息框
win32api.MessageBox(0, 这是一个测试确认信息框, 提醒,win32con.MB_OKCANCEL)# 重试信息框
win32api.MessageBox(0, 这是一个测试重试信息框, 提醒,win32con.MB_RETRYCANCEL)# 是否取消信息框
win32api.MessageBox(0, 这是一个测试是否取消信息框, 提醒,win32con.MB_YESNOCANCEL)
一、新建一个工程MyMainTest创建主对话框添加2个按钮并关联信号和槽函数。
二、主源代码如下 python主文件# -*- coding: utf-8 -*-
import sysfrom PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QMainWindow, QDesktopWidget, QMessageBox
from PyQt5 import QtCoreimport MyQTMainForm # 导入MyQTMainForm.py文件class MyPyQTMainForm(QMainWindow, MyQTMainForm.Ui_MainWindow):主界面def __init__(self):初始化super(MyPyQTMainForm, self).__init__()self.setupUi(self)def center(self):定义一个函数使得窗口居中显示# 获取屏幕坐标系screen QDesktopWidget().screenGeometry()# 获取窗口坐标系size self.geometry()newLeft (screen.width() - size.width()) / 2newTop (screen.height() - size.height()) / 2self.move(int(newLeft), int(newTop))def testInformationDialog(self):单击“信息框”按钮消息处理响应函数print(登录服务器成功)# 信息框self.showInformationDialog(登录服务器成功, 温馨提示)def testWarningDialog(self):单击“警告框”按钮消息处理响应函数print(登录服务器失败请检查服务器登录配置及服务器是否开启)# 警告信息框self.showWarningDialog(登录服务器失败请检查服务器登录配置及服务器是否开启, 温馨提示)def showInformationDialog(self, strText, strWindowTitle):弹出信息提示框msgBox QMessageBox()msgBox.setIcon(QMessageBox.Information)msgBox.setText(strText)msgBox.setWindowTitle(strWindowTitle)# msgBox.setWindowIcon(QIcon(./images/tips.ico))msgBox.setWindowIcon(QIcon(tips.ico))msgBox.setStandardButtons(QMessageBox.Ok)msgBox.exec()def showWarningDialog(self, strText: str, strWindowTitle: str):弹出警告提示框msgBox QMessageBox()msgBox.setIcon(QMessageBox.Warning)msgBox.setText(strText)msgBox.setWindowTitle(strWindowTitle)# msgBox.setWindowIcon(QIcon(./images/tips.ico))msgBox.setWindowIcon(QIcon(tips.ico))msgBox.setStandardButtons(QMessageBox.Ok)msgBox.exec()# 我们关闭窗口的时候,触发了QCloseEvent。我们需要重写closeEvent()事件处理程序。# 重写closeEvent函数使点击右上角的叉号关闭按钮时弹框提示“Are you sure to quit?”def closeEvent(self, event):# 我们显示一个消息框,两个按钮:“是”和“不是”。第一个字符串出现在titlebar。# 第二个字符串消息对话框中显示的文本。第三个参数指定按钮的组合出现在对话框中。# 最后一个参数是默认按钮这个是默认的按钮焦点。reply QMessageBox.question(self, 提示,您确定退出系统吗, QMessageBox.Yes |QMessageBox.No, QMessageBox.No)# 处理返回值如果单击Yes按钮,关闭小部件并终止应用程序。否则我们忽略关闭事件。if reply QMessageBox.Yes:event.accept()else:event.ignore()主函数if __name__ __main__:app QApplication(sys.argv)# 创建主窗口对象myPyMainForm MyPyQTMainForm()# 主窗口显示在屏幕中间myPyMainForm.center()# 禁止最大化按钮# myPyMainForm.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint | QtCore.Qt.WindowCloseButtonHint)# 禁止拉伸窗口大小# myPyMainForm.setFixedSize(myPyMainForm.width(), myPyMainForm.height())# 显示主界面myPyMainForm.show()sys.exit(app.exec_())
三、编译运行分别单击“信息框”按钮和“警告框”按钮弹出对应窗口如下 四、单击主窗口右上角的“关闭“按钮时弹出询问框如下。 获取更多资料请访问大土土随笔
如果本文对您有所帮助请关注微信公众号“捷创源科技”。