PyQt-QLabelを受け継ぎ
-
12-09-2019 - |
質問
いを受け継ぐQLabelの追加がクリックイベント処となります。ようにしているこのコード:
class NewLabel(QtGui.QLabel):
def __init__(self, parent):
QtGui.QLabel.__init__(self, parent)
def clickEvent(self, event):
print 'Label clicked!'
その後クリックしていないライン"のラベルをクリックす!'
編集:
大丈夫、私も使っていない'clickEvent'が'mousePressEvent'.やまだまだ疑問です。したらどのようになりますか?うラベルをクリック?例えば、2つの編集ボックス2を表します。ラベルのコンテンツpixmaps.のでもない文字列ラベルさんを十分に見ることができません違います。する方法を教えてください。
EDIT2: 明けまして御目出とう御座いますコード:
class NewLabel(QtGui.QLabel):
def __init__(self, firstLabel):
QtGui.QLabel.__init__(self, firstLabel)
def mousePressEvent(self, event):
print 'Clicked'
#myLabel = self.sender() # None =)
self.emit(QtCore.SIGNAL('clicked()'), "Label pressed")
別のクラス:
self.FirstLang = NewLabel(Form)
QtCore.QObject.connect(self.FirstLang, QtCore.SIGNAL('clicked()'), self.labelPressed)
スロットと同じクラス:
def labelPressed(self):
print 'in labelPressed'
print self.sender()
はない送信元のオブジェクト。かかったのは間違いだったのか?
解決
応答を第二の問題だけに基づく@gnud例:
- サブクラスQLabel,オーバーライドmouseReleaseEvent、追加のクラスは、うボタンをクリックします。
- チェックするボタンをクリックするmouseReleaseEventあれば、その光のクリック信号です。
- 接続スロットにラベルをクリック信号を使用 送信者() 内部を知るQLabelしたボタンをクリックします。
他のヒント
機能はありません clickEvent
にQWidget/QLabel.ま接続できる機能をQt信号を、なにができる:
class NewLabel(QtGui.QLabel):
def __init__(self, parent=None):
QtGui.QLabel.__init__(self, parent)
self.setText('Lorem Ipsum')
def mouseReleaseEvent(self, event):
print 'Label clicked!'
からの回答なのか PyQt Wiki 作品も、"ちびまる子ちゃんとおかしいの clickable
クラスを呼び出 widget.mouseReleaseEvent
右前 return True
いただくことで、場合により、ユーザーがカスタマイズイベントです。
所属していません StackOverflow