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