QLabel控件
学习笔记:PyQt5教程 来源b站
一起来交流
代码
import sys
from PyQt5.QtWidgets import QMainWindow,QLabel, QApplication,QVBoxLayout,QHBoxLayout,QWidget,QPushButton
from PyQt5.QtGui import QIcon,QPalette,QPixmap
from PyQt5.QtCore import Qt
"""
# QLabel控件
# setAlignment():设置文本的对齐方式
# setIndent():设置文本缩进
# text():获取文本内容
# setBuddy():设置伙伴关系
# setText():设置文本内容
# selectedText():返回所选择的字符
# setWordWrap():设置是否允许换行
"""
"""
QLabel常用信号:
1.当鼠标滑过QLabel控件时触发:linkHovered
2.当鼠标单击QLabel控件时触发:linkActivated
"""
class QLabeDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.resize(600,600)
def initUI(self):
#创建文本控件
label1=QLabel(self)
label2=QLabel(self)
label3=QLabel(self)
label4=QLabel(self)
# 设置文本内容
label1.setText("<font color=red size=2>这是一个文本标签</font>")
#自动背景填充
label1.setAutoFillBackground(True)
#c创建调色板
palette=QPalette()
# 设置背景颜色
palette.setColor(QPalette.Window,Qt.blue)
label1.setPalette(palette)
# 设置文字对齐方式
label1.setAlignment(Qt.AlignCenter)
label2.setText("<a href='#'>welcome use GUI</a>")
label3.setAlignment(Qt.AlignCenter)
label3.setToolTip("这是一个图片标签")
label3.setPixmap(QPixmap("E:/learn/Qt5/img/19.jpg"))
# 如果设为True打开链接 False:调用槽函数
label4.setOpenExternalLinks(True)
label4.setText("<a href='www.baidu.com'>百度链接</a>")
label4.setToolTip("这是一个超链接")
label4.setAlignment(Qt.AlignRight)
#创建一个垂直布局
vbox=QVBoxLayout()
vbox.addWidget(label1)
vbox.addWidget(label2)
vbox.addWidget(label3)
vbox.addWidget(label4)
# 链接槽
label2.linkHovered.connect(self.linkHovered)
label4.linkActivated.connect(self.linkAxtivated)
self.setLayout(vbox)
self.setWindowTitle("QLabel案例")
def linkHovered(self):
print("滑过label2触发时间")
def linkAxtivated(self):
print("点击链接,触发事件")
if __name__ == '__main__':
app = QApplication(sys.argv)
# 实例化对象
main = QLabeDemo()
main.show()
sys.exit(app.exec_())
实现
QLabel与伙伴控件
代码
import sys
from PyQt5.QtWidgets import QMainWindow,QLabel, QApplication,QVBoxLayout,QHBoxLayout,QWidget,QPushButton,QDialog,QLineEdit,QGridLayout
from PyQt5.QtGui import QIcon,QPalette,QPixmap
from PyQt5.QtCore import Qt
"""
QLabel与伙伴关系
"""
class QLabelBuddy(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QLabel与伙伴关系!")
#设置两个控件
namelabel=QLabel('&Name',self)
namelineEdit=QLineEdit(self)
#设置伙伴控件
namelabel.setBuddy(namelineEdit)
# 设置两个控件
passwordlabel = QLabel('&password', self)
passwordlineEdit = QLineEdit(self)
# 设置伙伴控件
passwordlabel.setBuddy(passwordlineEdit)
#设置两个按钮
OkButton=QPushButton("OK")
CancelButton=QPushButton("Cancel")
#设置格栅格式
mainLayout=QGridLayout(self)
mainLayout.addWidget(namelabel,0,0)#第一行第一列
mainLayout.addWidget(namelineEdit,0,1,1,2)#第一排第二列占一行两列的位置
mainLayout.addWidget(passwordlabel,1,0)
mainLayout.addWidget(passwordlineEdit,1,1,1,2)
mainLayout.addWidget(OkButton,2,1)
mainLayout.addWidget(CancelButton,2,2)
if __name__ =='__main__':
app=QApplication(sys.argv)
main=QLabelBuddy()
main.show()
sys.exit(app.exec_())