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