PyQt5系列文章目录
01.安装与配置 02.QLabel控件
文章目录
PyQt5系列文章目录前言一、创建一个QLabel二、QLabel常用方法1.继承QtWidgets类常用方法2.QLabel常用方法3.QLabel 常用信号4.QLabel 的常用方式
总结
前言
QLabel控件是pyqt5进行界面设计时的一个基础控件,其用于显示不可编辑的文本或图片,也用于设置超链接、富文本,以及作为其他控件的。
一、创建一个QLabel
方式一:通过Qt Designer生成 在Qt Designer中拖入一个QLabel控件,再通过PyUIC转换为.py文件(具体流程可以参考01.安装与配置),生成之后的代码为:
... # 省略部分
self.label = QtWidgets.QLabel(self.centralwidget) # 括号中的内容填写QLabel归属的父控件
self.label.setGeometry(QtCore.QRect(310, 200, 131, 21)) # 设置QLabel的位置与大小
self.label.setObjectName("label") # 设置QLabel名称
self.label.setText(_translate("MainWindow", "TextLabel")) # 设置QLabel的显示内容
可以看出,Qt Designer中创建QLabel控件的基本模式,也是较为模式化的方式,可以在独立使用代码添加控件时参考。
方式二:直接通过代码生成 通过方式一可以看出,QLabel可以在python中使用代码生成,一般简略的生成方式为:
label1 = QtWidgets.QLabel(self)
label1.setText("TextLabel")
若使用代码生成控件时,可以简化流程,但是不配置的部分会按照默认参数进行,例如label的位置、字体等。
二、QLabel常用方法
1.继承QtWidgets类常用方法
方法描述setGeometry设置控件的位置与大小setObjectName设置控件的名称setFont设置控件的字体
其中,
setGeometry:需要填入4个整数值,使用方法:label.setGeometry(x, y, a, b),也可使用label.setGeometry(QtCore.QRect(x, y, a, b)),显示内容相同。 其中:
x表示相对于左上角(原点),横坐标向右偏移大小y表示相对于左上角(原点),纵坐标向下偏移大小a表示控件的长度b表示控件的高度 setObjectName:需填入字符串,设置控件的名称,最好setFont:设置控件文本显示的字体,需要使用QFont,使用方法:setFont(font)。其中,font为实例化QtGui.QFont()之后的内容,使用代码为:
font = QtGui.QFont()
font.setPointSize(12) # 括号里的数字可以设置成自己想要的字体大小
font.setFamily("SimSun") # 宋体
label.setFont(font)
2.QLabel常用方法
方法描述setAlignment()按固定值方法对齐文本setIndent()设置文本缩进值setPixmap()设置QLabel为一个Pixmap图片text()获取 QLabel 的文本内容setText()设置 QLabel 的问本内容selectedText()返回所选择的字符setBuddy()设置 QLabel 的助记符及 buddy(伙伴),即使用 QLabel 快捷键,会在快捷键后将焦点设置到其 buddy 上;buddy 可以是任意 widget 控件。使用 setBuddy(QWidget*) 设置,其 QLabel 必须是文本内容,并且使用“&”符号设置了助记符setWordWrap()设置是否换行
其中:
setAlignment():存在以下可选值,使用方法示例:label.setAlignment(Qt.AlignCenter):
Qt.AlignLeft:水平方向靠左对齐Qt.AlignRight:水平方向靠右对齐Qt.AlignCenter:水平方向居中对齐Qt.AlignJustify:水平方向调整间距两端对齐Qt.AlignTop:垂直方向靠上对齐Qt.AlignBottom:垂直方向靠下对齐Qt.AlignVCenter:垂直方向居中对齐 setIndent():填写值为整数值,设置后显示的值会从label框的最左侧缩进对应长度的字符串的长度;setPixmap():填写内容为QtGui.QPixmap()实例化后的内容,其中QPixmap()中需要填入图片的名称,若图片在当前工程下面,则可以不填写地址,否则需要填写物理地址。另外设置的图片分辨率不可以过高,示例如下:
pixmap = QtGui.QPixmap('D://workspace//csdn.jpeg')
label.setPixmap(pixmap)
text():获取当前控件值,为字符串,不需要填写内容setText():填写当前控件值,为字符串selectedText():返回选择的字符,使用较少setBuddy():可以将两个控件进行关联,通过快捷键将QLable的焦点关联到对应控件上,使用最多的就是QLineEdit()控件,示例如下:
label = QLabel('&Password', self)
ling_edit = QLineEdit(self)
label.setBuddy(ling_edit)
setWordWrap():填写内容为布尔值,设置后会在字符内容超过label的长度后进行换行
3.QLabel 常用信号
方法描述linkActivated前提是标签设置为超链接,并且不希望打开这个超链接(即setOpenExternalLinks(False))时,点击此链接会触发事件linkHovered前提是标签设置为超链接,当鼠标指针滑过标签中嵌入的超链接时,触发事件
代码示例:
self.label.setText("欢迎访问")
self.label.setOpenExternalLinks(True) # 设置为True时可以打开超链接,设置为False时不会打开,但是可以触发linkActivated事件
self.label.linkActivated.connect(self.link_clicked)
self.label.linkHovered.connect(self.move_hover)
def link_clicked(self):
print('hhhhh')
def move_hover(self):
print('lllll')
4.QLabel 的常用方式
显示内容:主要使用setText()方法,也可在Qt Designer中设置固定的名称; 超链接配置:使用setText()方法,使用的方式为:setText("欢迎访问"),其中: a. =之后的内容为网址内容,即’https://blog.csdn.net/weixin_43115411?spm=1000.2115.3001.5343’ b. >之后的内容为文本的超链接提示内容: 图片显示:使用setPixmap()方法,需要注意图片的保存位置,并且图片的大小与label的大小
总结
本文介绍了pyqt5中的QLabel控件的相关内容,目前在QLabel控件的使用中,多以显示、提示目的,也可以用于超链接的配置和图片的显示。 主要包括:
创建QLabel控件使用QLabel方法使用QLabel信号
发表评论