PYQT的QMessageBox使用示例
目录
1. 使用PyQT创建一个简单的图形界面
2. signal 和 slot(信号与槽)
一、代码
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit, QMessageBox# 定义一个槽函数:当按钮被点击时执行的操作
def on_button_clicked():# 获取文本框中的内容content = textEdit.toPlainText()# 判断内容是否为空if not content.strip():# 显示警告对话框:提示用户输入内容QMessageBox.warning(window, # 父窗口"警告", # 对话框标题"请先输入薪资表内容!" # 提示信息)else:# 显示信息对话框:告知用户统计完成QMessageBox.information(window, # 父窗口"完成", # 对话框标题"薪资统计已完成!\n共统计了 {} 行数据".format(len(content.splitlines())))print('统计完成,内容长度:', len(content))app = QApplication([])window = QMainWindow()
window.resize(500, 400)
window.move(2000, 1010)
window.setWindowTitle('薪资统计')textEdit = QPlainTextEdit(window)
textEdit.setPlaceholderText("请输入薪资表")
textEdit.move(10,25)
textEdit.resize(300,350)button = QPushButton('统计', window)
button.move(380,80)# 将按钮的"点击信号"与"槽函数"连接起来
button.clicked.connect(on_button_clicked)window.show()app.exec_()
二、运行效果
1、如果在文本框中什么都没输入,就直接点统计,就会弹出警告
2、如果我在文本框中输入三行数据,再去点统计就会弹出完成提示:统计了三行数据
三、代码分析
1、本次示例中新增了一个类:QMessageBox
它的作用是:
显示各种标准对话框,主要用于向用户展示信息、警告、错误提示,或者获取用户确认等交互操作。
它提供了便捷的方法来创建常见的对话框,无需手动设计复杂的界面。
QMessageBox 常用的功能包括:
显示信息提示(如操作成功的通知)
显示警告信息(如可能存在的风险)
显示错误信息(如操作失败的原因)
询问用户确认(如 “是否确定删除”)
获取用户简单的输入选择
2、在文本框输入后,行数是怎么计算的?
# 显示信息对话框:告知用户统计完成QMessageBox.information(window, # 父窗口"完成", # 对话框标题"薪资统计已完成!\n共统计了 {} 行数据".format(len(content.splitlines())))
这段代码通过 content.splitlines() 来计算文本的行数,具体原理如下:
content | 是从文本框中获取的所有内容(字符串类型) |
---|---|
splitlines() 方法 | 这是 Python 字符串的一个方法,作用是按换行符分割字符串,返回一个包含所有行的列表。它会识别各种换行符(\n、\r\n 等)例如,字符串 “a\nb\nc” 会被分割成 [“a”, “b”, “c”] |
len() 函数 | 计算这个列表的长度,也就是文本的行数 |
3、format() 方法
是字符串的一个方法,用于将变量或值插入到字符串中的指定位置,实现字符串的格式化。
"薪资统计已完成!\n共统计了 {} 行数据".format(len(content.splitlines()))
这里的 {} 是一个 “占位符”,format() 会把括号里的值(也就是 len(content.splitlines()) 计算出的行数)放到这个占位符的位置。