55 lines
2.4 KiB
Python
55 lines
2.4 KiB
Python
|
from PyQt5.QtWidgets import *
|
|||
|
from PyQt5.QtCore import *
|
|||
|
from PyQt5.QtGui import *
|
|||
|
|
|||
|
class QLabelDemo(QWidget):
|
|||
|
def __init__(self):
|
|||
|
super().__init__()
|
|||
|
self.setWindowTitle("QLabel範例")
|
|||
|
|
|||
|
label1, label2, label3 = QLabel(self), QLabel(self), QLabel(self)
|
|||
|
#label1, label2, label3 = [QLabel(self) for i in range(3)]
|
|||
|
label1.setText("這是一個文字標籤") #設定標籤外顯文字
|
|||
|
label1.setAlignment(Qt.AlignCenter) #置中顯示
|
|||
|
|
|||
|
label2.setToolTip('這是一個圖片標籤') #設定氣泡說明
|
|||
|
label2.setPixmap(QPixmap("LINE_friends.gif")) #底圖設入標籤之中
|
|||
|
#label2.setPixmap(QPixmap("LINE_friends.gif").scaled(400,400,Qt.KeepAspectRatio))
|
|||
|
|
|||
|
# ------ 開始:設定動畫 ------ #
|
|||
|
# movie = QMovie("LINE_friends.gif") #創建QMovie物件,載入動畫圖檔
|
|||
|
# movie.setSpeed(100) #設定播放速度,100為原速,200為2倍速,依此類推
|
|||
|
# movie.setScaledSize(QSize().scaled(400,400,Qt.KeepAspectRatio)) #設定大小
|
|||
|
# movie.start() #開始播放,記得加這個指令,否則看不到圖案
|
|||
|
# label2.setMovie(movie) #動畫物件嵌入label2標籤內
|
|||
|
# ------ 結束:設定動畫 ------ #
|
|||
|
|
|||
|
|
|||
|
label3.setText("<A href='https://www.yuntech.edu.tw/'>歡迎連結雲科大首頁</a>")
|
|||
|
label3.setAlignment(Qt.AlignRight) #靠右顯示
|
|||
|
label3.setToolTip('這是一個超連結標籤')
|
|||
|
|
|||
|
vbox = QVBoxLayout() #創建垂直式佈局排版管理員
|
|||
|
vbox.addWidget(label1) #利用.addWidget()逐一把元件加入版面,佈局管理員將自動排版
|
|||
|
vbox.addStretch() #加入一個空的可伸展的透明框;有加或未加此指令有何差別,請同學觀察效果
|
|||
|
vbox.addWidget(label2)
|
|||
|
vbox.addStretch()
|
|||
|
vbox.addWidget(label3)
|
|||
|
self.setLayout(vbox) #透過.setLayout()把佈局管理員排版好的內容設入主視窗
|
|||
|
|
|||
|
label3.setOpenExternalLinks(True) #開放允許存取超連結,預設是不允許
|
|||
|
label3.linkActivated.connect(link_clicked) #點擊label3產生事件將連結至link_clicked()作處理
|
|||
|
label3.linkHovered.connect(link_hovered) #滑鼠飛掠過label3產生事件將連結至link_hovered()作處理
|
|||
|
|
|||
|
def link_hovered():
|
|||
|
print("滑鼠滑過標籤當下所觸發事件")
|
|||
|
|
|||
|
def link_clicked():
|
|||
|
print("滑鼠點擊標籤當下所觸發事件" )
|
|||
|
|
|||
|
if __name__ == "__main__":
|
|||
|
app = QApplication([])
|
|||
|
win = QLabelDemo()
|
|||
|
win.show()
|
|||
|
app.exec_()
|