欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

qlabel自动换行方法(label换行显示文本)

程序员文章站 2024-03-26 14:47:41
qlabel标签控件是一个经常都要用到的控件,下面是它涉及到的常用方法与事件:setalignment():设置文本的对齐方式,在qt中setindent():设置文本缩进text():获取文本内容s...

qlabel标签控件是一个经常都要用到的控件,下面是它涉及到的常用方法与事件:

qlabel自动换行方法(label换行显示文本)
  • setalignment():设置文本的对齐方式,在qt中
  • setindent():设置文本缩进
  • text():获取文本内容
  • setbuddy():设置伙伴关系
  • settext():设置文本内容
  • selectedtext():返回所选择的字符
  • setwordwrap():设置是否允许换行
  • adjustsize():控件根据内容调整尺寸

事件:

  • linkhovered:鼠标滑过
  • linkactivated:鼠标单击
import sys
from pyqt5.qtwidgets import qlabel,qwidget,qvboxlayout,qapplication
from pyqt5.qtgui import qpalette,qpixmap
from pyqt5.qtcore import qt

class qlabeldemo(qwidget):
    def __init__(self):
        super().__init__()
        self.initui()

    def initui(self):
        # 创建label,参数为self
        self.label1 = qlabel(self)
        self.label2 = qlabel(self)
        self.label3 = qlabel(self)
        self.label4 = qlabel(self)

        # 设置label标签文本,标签文本可以是html代码

        self.label1.settext("<font color=yellow>这是一个文本标签.</font>")
        self.label1.setautofillbackground(true)
        patette = qpalette()
        # qt中有很多变量

        patette.setcolor(qpalette.window,qt.blue)
        self.label1.setpalette(patette)
        # 设定对齐方式

        self.label1.setalignment(qt.aligncenter)

        self.label2.settext("<a href='#'>欢迎使用python gui程序</a>")

        self.label3.setalignment(qt.aligncenter)
        # 设置提示内容

        self.label3.settooltip("这是一个图片标签")
        # 设置图片

        self.label3.setpixmap(qpixmap("./images/python.jpg"))
        # 如果为false则调用槽函数

        self.label4.setopenexternallinks(true)
        self.label4.settext("<a href='https://item.jd.com/12417265.html'>感谢关注</a>")
        self.label4.setalignment(qt.alignright)
        self.label4.settooltip("这是一个超级链接")

        # 创建一个垂直布局

        vbox = qvboxlayout(self)
        vbox.addwidget(self.label1)
        vbox.addwidget(self.label2)
        vbox.addwidget(self.label3)
        vbox.addwidget(self.label4)
        
        # 绑定信号

        self.label2.linkhovered.connect(self.linkhovered)
        self.label4.linkactivated.connect(self.linkclicked)

        self.setlayout(vbox)
        self.setwindowtitle("qlabel控件展示")

    def linkhovered(self):
        print("鼠标滑过label2")

    def linkclicked(self):
        print("鼠标单击label4")

if __name__ == '__main__':
    app = qapplication(sys.argv)
    label = qlabeldemo()
    label.show()

    sys.exit(app.exec_())