QLabel-标签控件的应用

 


label = QLabel('我是李明') #创建标签控件对象.参数:标签中要显示的文本
label.setText('我是明明')   修改标签控件显示的文本
self.label.text()    返回标签的文本
self.label.resize(200,20)     设置标签的宽和高

adjustSize()    根据内容自适应大小 

注意:单次有效,在设置内容后面使用

self.pic_label.setPixmap(QPixmap('off.png')) #在标签上添加一张图片.     需要 from PyQt5.QtGui import QPixmap

self.label.setScaledContents(True)    图片随着标签大小而变化

self.label.setStyleSheet('background-color: rgb(255, 251, 100)')    设置背景色

label.setStyleSheet('font-size:20px;color:red;font-family:黑体 ') #设置字体大小,字体颜色,字体

 

qss = 'QLabel {font-size:20px;color:red}' #设置标签类样式
self.setStyleSheet(qss) #给窗体设置样式

 

qss = 'QLabel#ppp {font-size:20px;color:red}'   #设置标签类样式

ppp是控件的objectName属性,由setObjectName('ppp')来设置

 qss = 'QLabel[name=lm] {font-size:20px;color:red}'     #设置标签类样式

匹配name属性=lm的空间,由setProperty('name', 'lm') 来设置

 

 

label1.setFont(QFont("Roman times", 30)) #设置字体

需要  from PyQt5.QtGui import QFont

 



import sys
from PyQt5.QtWidgets import QApplication, QWidget,QLabel,QLineEdit
from PyQt5.QtGui import QPixmap,QPicture,QPainter,QBrush,QColor,QMovie
from PyQt5.QtCore import Qt,QSize


class Demo(QWidget):

def __init__(self):
super().__init__()
self.resize(300,350)

self.label=QLabel('标签',self)
#text() -> str 返回文本
self.label.move(25,15)
self.label.setStyleSheet('font-style:italic;">#设置背景色
self.label.resize(200,200)
self.label.setText('我喜欢pyqt5,我是中国人,我爱我的祖国') #设置文本

self.label.setAlignment(Qt.AlignLeft) #设置对齐方式
# Qt.AlignRight 水平靠右
# Qt.AlignLeft 水平靠左
# Qt.AlignHCenter 居中
# Qt.AlignJustify
# Qt.AlignTop 垂直顶部
# Qt.AlignBottom 垂直底部
# Qt.AlignVCenter 垂直居中
# Qt.AlignBaseline
# Qt.AlignCenter=Qt.AlignHCenter | Qt.AlignVCenter
#alignment() -> Qt.Alignment 返回对齐方式

self.label.setIndent(2) #对齐端缩进20像素--水平
self.label.setMargin(1) #设置边距像素

self.label.setTextFormat(Qt.PlainText) #设置文本格式
#Qt.PlainText 纯文本(如果是HTML格式的内容,则会直接显示HTML源码)
#Qt.RichText 富文本
#Qt.AutoText 自动识别是否是富文本
#textFormat() 返回文本格式

self.label.setText('用户名&n:')
self.label.adjustSize() #根据内容自适应大小--自动调整控件的大小
#注意:单次有效,在设置内容后面使用

self.label1 = QLabel('密码&m:', self) #快捷键是ALT-m
self.label1.move(25,50)
self.le=QLineEdit(self)
self.le.move(100,15)
self.le1 = QLineEdit(self)
self.le1.move(100, 50)

#小伙伴
self.label.setBuddy(self.le) #给标签的快捷键绑定控件
#按下标签的快捷键 焦点转到绑定的控件
#buddy() -> QWidget 返回绑定的控件
self.label1.setBuddy(self.le1)

self.label3=QLabel('我爱我的祖国,祖国万岁',self)
self.label3.move(20,260)
#self.label3.setTextInteractionFlags(Qt.TextSelectableByMouse) #设置文本交互标志
#Qt.NoTextInteraction 不能与文本进行交互--默认
#Qt.TextSelectableByMouse 可以使用鼠标选择文本并使用上下文菜单或标准键盘快捷键将其复制到剪贴板
#Qt.TextSelectableByKeyboard 可以使用键盘上的光标键选择文本--按住shift键进行选择
#Qt.TextEditable 该文字完全可编辑
#Qt.TextEditorInteraction=TextSelectableByMouse | TextSelectableByKeyboard | TextEditable
#Qt.LinksAccessibleByMouse 可以使用鼠标突出显示和激活链接。
#Qt.LinksAccessibleByKeyboard 可以使用选项卡聚焦链接并使用enter激活。
#Qt.TextBrowserInteraction=TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard
#textInteractionFlags() -> Qt.TextInteractionFlags 返回标志

self.label3.setSelection(1,2) #选中文本
#参数1 起始位置
#参数2 长度
#必须在setTextInteractionFlags允许选中的情况下

s=self.label3.hasSelectedText() #返回是否有选中的文本
s=self.label3.selectedText() #返回选中的文本
s=self.label3.selectionStart() #返回选中起始位置


self.label3.setText("<a href='http://www.baidu.com'>百度</a>") #设置链接文本
#注意:只显示 百度
#默认点击是不能打开的

self.label3.setOpenExternalLinks(True) #设置是否点击打开超链接
#必须在setTextInteractionFlags 设置为Qt::LinksAccessibleByMouse

#openExternalLinks() -> bool 返回是否点击打开超链接

self.label3.setText('123456 '*16)
self.label3.setWordWrap(True) #按照单词自动换行
#wordWrap() -> bool 返回是否按照单词自动换行

s1 = '\n'.join('我爱我的祖国') #把字符串【可迭代对象】中的每个字符都用指定的字符串连接
self.label3.setText(s1) #竖排

self.label3.setText('<h1>我爱我的祖国</h1>') #设置富文本
self.label3.adjustSize()

self.label3.setText('<img src="大象.png" width=60 height=60>') #设置富文本图片
#把图片当作富文本处理

self.label3.setNum(888.99) #显示数值
#可以是整型数据 也可以是浮点数数据

print(s)
self.label3.setFocus()

#展示图片
self.label2=QLabel(self)
self.label2.move(20,100)
self.label2.resize(150,150)
#方法一--显示位图
self.label2.setPixmap(QPixmap('./大象.png')) #给标签控件设置图片
self.label2.setScaledContents(True) #设置是否调整图片大小适应控件的大小
#hasScaledContents() -> bool 返回否调整图片大小适应控件的大小

#方法二--可以执行指令
pic=QPicture() #创建画布
painter=QPainter(pic) #创建画家
#参数 给画家的画布
painter.setBrush(QBrush(QColor(255,0,0))) #给画家设置画刷--给画家一个画刷
painter.drawEllipse(0,0,100,100) #让画家在画布上画一个椭圆

self.label3.resize(100,100)
self.label3.setPicture(pic) #让标签显示画布

#动图--GIF
movie=QMovie('11.gif') #创建GIF对象
self.label3.setMovie(movie) #给标签设置GIF对象
self.label3.setScaledContents(True)
movie.start() #动画开始
#stop()

movie.setSpeed(200) #设置播放速度
#100=1倍

movie.setPaused(True) #暂停
#movie.setScaledSize(QSize(50,50)) ???

movie.start()

#self.label3.clear() #清空

#信号
#self.label3.adjustSize() 超链接被激活时
# 会向槽函数传递链接地址

#linkHovered(link_str) 鼠标在超链接上面时
#会向槽函数传递链接地址

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Demo()
ex.show()
sys.exit(app.exec_())
 

 

self.zaopin.setPixmap(QPixmap(':/zaopin/1.png'))      #导入资源文件中的图片   

 

 

 

 

posted @ 2019-02-06 16:15  天子骄龙  阅读(10725)  评论(0编辑  收藏  举报