用来显示不可编辑的文字或图片,或GIF动画。也可用作其他控件的占位符。纯文本、超链接或富文本都可以显示在这个Label上。
QLabel类的函数
- setAlignment():对齐文本,参数有Qt.AlignLeft、Qt.AlignRight、Qt.AlignCenter、Qt.AlignJustify
- setIndent():设置文本缩进
- setPixmap():显示一张图片
- Text():显示label的标题
- setText(): 编写程序来设定标题
- selectedText():显示所选文本,其中textInteractionFlag必须设为TextSelectableByMouse
- setBuddy():将label与某个输入widget相关联
- setWordWrap(): 启用或禁用文本换行
QLabel类的信号
- linkActivated:如果Label上面的超链接被点击了,那么就打开URL。setOpenExternalLinks必须被设为true。
- linkHovered:当鼠标悬停在Label上面的超链接时,与该信号相关联的Slot函数将被调用
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
import sys from PyQt4 import QtGui from PyQt4 import QtCore from PyQt4.QtGui import * from PyQt4.QtCore import *
def window(): app = QtGui.QApplication(sys.argv) w = QtGui.QWidget() w.setGeometry(100,100,400,300) w.setWindowTitle('test')
label1 = QLabel() label2 = QLabel() label3 = QLabel() label4 = QLabel() label5 = QLabel()
label1.setText("i am label1 AlignRight") label2.setText(u"<a href = 'http://orion-c.win'>火男之雄起</a>") label3.setText(u"<a href = 'http://orion-c.win'>火男之雄起</a>") label4.setText("i am label4 AlignBottom")
label1.setAlignment(Qt.AlignRight) label2.setAlignment(Qt.AlignLeft) label3.setAlignment(Qt.AlignCenter) label4.setAlignment(Qt.AlignBottom) label5.setPixmap(QPixmap("Warcraft.png")) label5.setAlignment(Qt.AlignCenter)
vbox = QVBoxLayout() vbox.addWidget(label1) vbox.addStretch() vbox.addWidget(label2) vbox.addStretch() vbox.addWidget(label3) vbox.addStretch() vbox.addWidget(label4) vbox.addStretch() vbox.addWidget(label5)
label1.setTextInteractionFlags(Qt.TextSelectableByMouse) label2.setOpenExternalLinks(True) label2.linkActivated.connect(clicked) label3.linkHovered.connect(hovered)
w.setLayout(vbox)
w.show() sys.exit(app.exec_())
def clicked(): print 'clicked'
def hovered(): print "hovering"
if __name__ == '__main__': window()
|