0
我有一個Qlabel填充QPixmap,我想要啓動一個過程/功能,一旦這個標籤點擊。我已擴大QLabel類,如下所示:使QLabel可點擊使用PyQt5
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
class QLabel_alterada(QLabel):
clicked=pyqtSignal()
def __init(self, parent):
QLabel.__init__(self, QMouseEvent)
def mousePressEvent(self, ev):
self.clicked.emit()
然後,在我的基礎pyuic5-.py文件導入,我保存擴展QLabel類的模塊,裏面的自動生成後(我用QtDesigner進行佈局) setupui,功能我改變了我的標籤從
self.label1=QtWidgets.QLabel(self.centralwidget)
到
self.label1 = QLABEL2.QLabel_alterada(self.centralwidget)
最後,在我把whetever需要的所有程序/類核心應用Python文件我添加的應用程序功能
self.ui.label1.clicked.connect(self.dosomestuff)
應用程序不會崩潰,但標籤仍然不可點擊。有人能給我一些幫助嗎?
在此先感謝
我已經發布了一個答案,但如果它是不夠的,你可以通過提供生成QtDesigner,你所做的修改代碼。 – eyllanesc
tks @ eyllanesc。它仍然無法點擊。我在QtDesigner生成的代碼中做出的獨特變化是關於我想變成「可點擊」的Qlabel對象。我在文章中提到了這個變化。你認爲它可以與「self.centralWidget」作爲QLabel_alterada類的參數相關嗎? –
是的,你可以做到這一點,我認爲錯誤是其他地方,所以我問你QtDesigner生成的代碼與您所做的更改。 – eyllanesc