【发布时间】:2014-01-21 16:01:51
【问题描述】:
代码:
class Text(QtGui.QLabel):
def __init__(self,parent):
QtGui.QLabel.__init__(self,parent)
def mouseReleaseEvent(self,evt):
pos = evt.pos()
if pos.x() < 0 or pos.y() < 0 or pos.x() > self.width() or pos.y() > self.height():
return
self.parent().update()
self.emit(QtCore.SIGNAL('clicked()'))
def updateText(self, txt):
self.setText(txt)
class Window(QtGui.QMainWindow):
def createNews(self):
self.a1 = Text(self)
self.a1.updateText("Test")
self.a1.setFixedWidth(200)
self.a1.move(23, 173)
self.a1.show()
self.connect(self.a1, QtCore.SIGNAL("clicked()"), self.OpenURL)
def OpenURL(self, URL):
QtGui.QDesktopServices.openUrl(QtCore.QUrl(str(URL)))
我正在尝试制作一个“可点击”标签,这样如果我点击它,它将打开一个通过self.connect(self.a1, QtCore.SIGNAL("clicked()"), self.OpenURL) 传入参数的 URL。
问题是,是否可以将参数 (url) 传递给 self.OpenURL() 以便它可以打开 URL?
【问题讨论】:
标签: python qt pyqt arguments signals-slots