Skip to content

Commit c8690f3

Browse files
committed
Add 03-12-05-02
QMessageBox-文本与图标
1 parent ee5fd60 commit c8690f3

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
import sys
2+
3+
from PySide6 import QtGui, QtWidgets
4+
5+
"""
6+
QMessageBox 文本与图标
7+
8+
=========================================文本==========================================
9+
信息提示框中可以设置文本,根据重要程度、详细程度不同,
10+
可以使用不同的API分别设置普通文本、详情文本、信息文本,在界面显示中样式会有所区别(取决于平台)
11+
12+
普通文本,信息框提示中的主要文本内容:
13+
.setText(text:str)
14+
.text() -> str
15+
16+
详情文本,会被显示在详情区域,用户需要点击“显示细节”按钮才会展示
17+
注意text会被解析为纯文本
18+
.setDetailedText(text: str)
19+
.detailedText() -> str
20+
21+
信息文本,用于扩展text()以向用户提供更多信息。在MacOS上此文本会以小系统字体显示在text()下方
22+
而对于其他平台,只会简单地附加到现有文本中
23+
.setInformativeText(text: str)
24+
.informativeText() -> str
25+
26+
=========================================图标==========================================
27+
信息提示框可以在内部设置一个图标,该图标会出现在文本旁(而不同于一般的设置窗口图标)
28+
设置图标有两种方式,其一为设置QMessageBox提供的标准图标,其二为自定义位图:
29+
30+
为消息提示框设置标准图标(警告图标、错误图标等),而非用户指定的QIcon对象,其样式由当前GUI样式风格决定
31+
32+
.setIcon(icon: QMessageBox.Icon) 为消息提示框设置图标,默认为QMessageBox.NoIcon
33+
.icon() -> QMessageBox.Icon 获取当前设置的标准图标
34+
35+
QMessageBox.Icon枚举值详见本目录下对应附录小节
36+
37+
如要设置自定义图标,则应使用setIconPixmap方法:
38+
.setIconPixmap(icon: QPixmap) 设置自定义图标,需要为位图形式
39+
.iconPixmap() -> QPixmap 获取设置的图标
40+
41+
"""
42+
43+
44+
class MyWidget(QtWidgets.QWidget):
45+
def __init__(self, *args, **kwargs):
46+
super().__init__(*args, **kwargs)
47+
self.setWindowTitle("QMessage-文本与图标")
48+
self.resize(800, 600)
49+
self.setup_ui()
50+
51+
def setup_ui(self) -> None:
52+
"""设置界面与对话框"""
53+
54+
message_box = QtWidgets.QMessageBox(self)
55+
message_box.setWindowTitle("MessageBox的窗口标题")
56+
57+
# 设置文本
58+
message_box.setText("信息提示框中的一般文本")
59+
message_box.setDetailedText("这是一段详情文本")
60+
message_box.setInformativeText("这是一段信息文本")
61+
62+
# 设置图标
63+
# message_box.setIcon(QtWidgets.QMessageBox.Information) # 设置标准图标
64+
my_icon = QtGui.QPixmap("../../../Resources/Icons/Qt_for_Python_128px.png")
65+
message_box.setIconPixmap(my_icon) # 设置自定义图标
66+
67+
pop_btn = QtWidgets.QPushButton("弹出对话框", self)
68+
pop_btn.move(200, 200)
69+
pop_btn.clicked.connect(message_box.open) # type: ignore
70+
71+
72+
if __name__ == "__main__":
73+
app = QtWidgets.QApplication(sys.argv)
74+
window = MyWidget()
75+
window.show()
76+
sys.exit(app.exec())

0 commit comments

Comments
 (0)