当前位置:首页>python>41.Python实战__富文本简介2

41.Python实战__富文本简介2

  • 2026-10-11 06:06:12
41.Python实战__富文本简介2
    上节聊了聊富文本,大概有了一定了解,其实在Pyside6中富文本,常用的就是段落标签<p></p>就足够了;再就是段落标签内嵌<span>标签;今天就用Pyside6写一个简单的案例,效果如下:
今天的新内容如下:
1)富文本中上标标签<sup>上标文字</sup>;
2)富文本中下标标签<sub>下标文字</sub>;
3)跟窗口设置背景图片,这个后面再聊吧;
附原代码:
一、导入用到的类和模块
from PySide6.QtCore import Qtfrom PySide6.QtWidgets import QWidget,      QApplication, QGridLayout, QLabel
二、创建类Win并继承自QWidget
class Win(QWidget):        def __init__(self):            # 初始化并继承父类    super().__init__()            # 设置窗口标题            self.setWindowTitle("富文本案例")            # 设置窗口尺寸            self.resize(400, 500)            # 设置样式表            self.setStyleSheet(""" QWidget                             {                             font-size: 19px;                             border-image:url(./bg01.png)                            }                                        QLabel                             {                              border-image: none;                              background: transparent;                             }            """)            # 创建网格布局            self.main_layout = QGridLayout()            # 把网格布局设置给主窗口            self.setLayout(self.main_layout)            self.main_layout.setAlignment(Qt.AlignmentFlag.AlignTop)    # 设置布局垂直、水平间隙为15    self.main_layout.setSpacing(15)            # 当为窗口设置背景图片时设置下面属性为True            self.setAttribute(Qt.WidgetAttribute.WA_StyledBackground, True)    # 创建setup_01 实例方法            # 在实例方法中创建控件            self.setup_01()
三、创建实例方法setup_01
def setup_01(self):        # 创建 5 个标签        # 创建标签1,普通文本    self.label_1 = QLabel("这是一行普通文本")        # 设置标签1 对齐方式为:居中对齐    self.label_1.setAlignment(Qt.AlignmentFlag.AlignCenter)        # 创建标签 2    self.label_2 = QLabel()        # 创建标签 3    self.label_3 = QLabel()    # 创建标签 4    self.label_4 = QLabel()    # 创建标签 5    self.label_5 = QLabel()        # 创建标签对应的___富文本内容        text_2 = """          <p style="line-height: 1.5; text-align: center;">            <b>下面是富文本—————————</b><br/>           sin<sup>2</sup>α + cos<sup>2</sup>α = 1         </p>                            """        text_3 = """           <p style="line-height:1.5; text-align: center;">             <b>氢气在氧气中燃烧的化学方程式为:</b><br/>             <span style="font-weight: normal; color: red;">             2H<sub style="">2</sub>+O<sub style="">2</sub>=2H<sub style="">2</sub>O              </span>                       </p>            """        text_4 = """            <p style="line-height: 1.5; text-align: center;">            <b>金属铁与硫酸反应的化学方程式为:</b><br/>            Fe + H<sub>2</sub>SO<sub>4</sub> = Fe<sub>2</sub>SO<sub>4</sub> + H<sub>2</sub>↑            </p>              """        text_5 = """            <p style="line-height: 1.5; text-align: center; font-size: 20px; color: green;">               <span style="font-size: 25px;">悯农</span><br>                               锄禾日当午,<br>                               汗滴禾下土;<br>                               谁知盘中餐,<br>                               粒粒皆辛苦。                         </p>                         """       # 为上面4个标签设置————富文本        self.label_2.setText(text_2)        self.label_3.setText(text_3)        self.label_4.setText(text_4)        self.label_5.setText(text_5)       # 把上面四个标签添加到网格布局中        self.main_layout.addWidget(self.label_1, 0, 0)        self.main_layout.addWidget(self.label_2, 1, 0)        self.main_layout.addWidget(self.label_3, 2, 0)        self.main_layout.addWidget(self.label_4, 3, 0)        self.main_layout.addWidget(self.label_5, 4, 0)
四、最后实例化主函数并运行
if __name__ == "__main__":        import sys        app = QApplication(sys.argv)        win = Win()    win.show()        sys.exit(app.exec())
    上面有一个标签 <b>加粗</b>   是文字加粗显示;包裹在标签中间的文字会加粗显示。
    大家有时间一定要动手自己练一练,其实就是用一些尖括号标签把需要格式化表示的文字包裹起来表示,就这么简单。

最新文章

随机文章