PyQt5 給QLabel新增點選事件

2021-10-25 06:03:22 字數 897 閱讀 2558

使用pyqt5寫gui介面時發現qlabel物件沒有clicked()訊號,需要自行定義,但檢視qlabel類可知其定義了事件,但沒有具體寫事件的內容,而pyqt5支援自定義訊號,因此可通過重寫qlabel的事件函式,連線自定義的訊號,以此達到給qlabel新增事件的目的。

繼承qlabel,編寫帶有自定義訊號的label,通過qlabel的mousereleaseevent相連

class

myqlabel

(qtwidgets.qlabel)

:# 自定義訊號, 注意訊號必須為類屬性

button_clicked_signal = qtcore.pyqtsignal(

)def

__init__

(self, parent=

none):

super

(myqlabel, self)

.__init__(parent)

defmousereleaseevent

(self, qmouseevent)

: self.button_clicked_signal.emit(

)# 可在外部與槽函式連線

defconnect_customized_slot

(self, func)

: self.button_clicked_signal.connect(func)

label = myqlabel(central_widget)

label.connect_customized_slot(hide_self)

defhide_self()

: label.hide(

)

PyQt5 如何給QLabel設定邊框顏色

定義qlabel temp label qtwidgets.qlabel 設定邊框樣式 可選樣式有box panel等 temp label.setframeshape qtwidgets.qframe.box 設定陰影 只有加了這步才能設定邊框顏色 可選樣式有raised sunken plain...

用PyQt5 給主視窗新增樣式

usr bin env python coding utf 8 import sys from pyqt5.qtgui import qicon class m window qmainwindow def init self super init self.resize 600,350 self....

pyqt5切換python版本 pyqt5介面切換

主要的思路就是建立兩個frame 如果有兩個以上同理 使用setvisible 函式顯示或者隱藏frame 引數是bool值 import sys from pyqt5.qtwidgets import from pyqt5.qtcore import from pyqt5.qtgui import...