使用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...