PyQt5学习之路,点击有pyqt5学习笔记
QLabel可以显示不可编辑的文本或图片,也可以被用作提示标记为其他控件,继承自QFrame。
- 常用的方法
- setAlignment():设置文本的对齐方式
- setIndent():设置文本缩进
- text():获取文本内容
- setBuddy():设置伙伴关系
- setText():设置文本内容
- selectedText():返回所选择的字符
- setWordWrap():设置是否允许换行
- 常用的信号(事件)
- 当鼠标划过QLabel控件时触发:linkHovered
- 当鼠标单击QLabel控件时出发:linkActivated
label标签的几种使用
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QMainWindow, QApplication, QDesktopWidget, QVBoxLayout, QWidget, QPushButton, QLabel
from PyQt5.QtGui import QPalette,QPixmap
class QLabelDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
label1 = QLabel(self)
label2 = QLabel(self)
label3 = QLabel(self)
label4 = QLabel(self)
label1.setText("<font color=yellow>这是一个文本标签</font>")
label1.setAutoFillBackground(True)
patette = QPalette()
patette.setColor(QPalette.Window, Qt.blue)
label1.setPalette(patette)
label1.setAlignment(Qt.AlignCenter)
label2.setText("<a href='#'>欢迎使用Python GUI程序</a>")
label3.setAlignment(Qt.AlignCenter)
label3.setToolTip('这是一个图片标签')
label3.setPixmap(QPixmap("about_us_bk.jpg"))
label4.setOpenExternalLinks(True)
label4.setText('<a href=www.baidu.com>面向百度编程</a>')
label4.setAlignment(Qt.AlignRight)
label4.setToolTip('这是一个超级链接')
vbox = QVBoxLayout()
vbox.addWidget(label1)
vbox.addWidget(label2)
vbox.addWidget(label3)
vbox.addWidget(label4)
label2.linkHovered.connect(self.linkHovered)
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)
main = QLabelDemo()
main.show()
sys.exit(app.exec_())
label标签的伙伴控件
from PyQt5.QtWidgets import *
import sys
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)
btnOK = QPushButton('&OK')
btnCencel = 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(btnOK, 2, 1)
mainLayout.addWidget(btnCencel, 2, 2)
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QLabelBuddy()
main.show()
sys.exit(app.exec_())