77 lines
2.4 KiB
Python
77 lines
2.4 KiB
Python
# -*- coding: utf-8 -*-
|
||
|
||
|
||
'''
|
||
【簡介】
|
||
PyQT5中Qlabel範例
|
||
|
||
'''
|
||
|
||
from PyQt5.QtWidgets import QApplication, QLabel ,QWidget, QVBoxLayout
|
||
from PyQt5.QtCore import Qt
|
||
from PyQt5.QtGui import QPixmap ,QPalette
|
||
import sys
|
||
|
||
class WindowDemo(QWidget):
|
||
def __init__(self ):
|
||
super().__init__()
|
||
|
||
label1 = QLabel(self)
|
||
label2 = QLabel(self)
|
||
label3 = QLabel(self)
|
||
label4 = QLabel(self)
|
||
|
||
#1 初始化標籤控制項
|
||
label1.setText("這是一個文字標籤。")
|
||
label1.setAutoFillBackground(True)
|
||
palette = QPalette()
|
||
palette.setColor(QPalette.Window,Qt.blue)
|
||
label1.setPalette(palette)
|
||
label1.setAlignment( Qt.AlignCenter)
|
||
|
||
label2.setText("<a href='#'>歡迎使用Python GUI應用程式</a>")
|
||
|
||
label3.setAlignment( Qt.AlignCenter)
|
||
label3.setToolTip('這是一個圖片標籤')
|
||
label3.setPixmap( QPixmap("./images/python.jpg"))
|
||
|
||
label4.setText("<A href='http://www.cnblogs.com/wangshuo1/'>歡迎連結信平的小屋</a>")
|
||
label4.setAlignment( Qt.AlignRight)
|
||
label4.setToolTip('這是一個超連結標籤')
|
||
|
||
#2 在視窗佈局中加入控制項
|
||
vbox = QVBoxLayout()
|
||
vbox.addWidget(label1)
|
||
vbox.addStretch()
|
||
vbox.addWidget(label2)
|
||
vbox.addStretch()
|
||
vbox.addWidget( label3 )
|
||
vbox.addStretch()
|
||
vbox.addWidget( label4)
|
||
|
||
#3 允許label1控制項存取超連結
|
||
label1.setOpenExternalLinks(True)
|
||
# 開放允許存取超連結,預設是不允許,必須透過 setOpenExternalLinks(True)開放
|
||
label4.setOpenExternalLinks( False )
|
||
# 點擊文字方塊繫結槽事件
|
||
label4.linkActivated.connect( link_clicked )
|
||
|
||
# 滑過文字方塊繫結槽事件
|
||
label2.linkHovered.connect( link_hovered )
|
||
label1.setTextInteractionFlags( Qt.TextSelectableByMouse )
|
||
|
||
self.setLayout(vbox)
|
||
self.setWindowTitle("QLabel範例")
|
||
|
||
def link_hovered():
|
||
print("當滑鼠滑過label-2標籤時,觸發事件。")
|
||
|
||
def link_clicked():
|
||
print("當用滑鼠點擊label-4標籤時,觸發事件。" )
|
||
|
||
if __name__ == "__main__":
|
||
app = QApplication(sys.argv)
|
||
win = WindowDemo()
|
||
win.show()
|
||
sys.exit(app.exec_())
|