Eri*_*Bkc 2 python qt qlineedit
我正在为 QLineEdit 设置 click() 事件,我已经成功做到了。但我想在单击 QLine Edit 时返回到 Mainwindow,因为我需要 Mainwindow 中的数据来进一步处理数据。但我没能让它回去,也没有引用Mainwindow作为父级,希望有人能指出。太感谢了。
MainWindow
{
...
self.tc = MyLineEdit(self.field[con.ConfigFields.VALUE])#self.tc = wx.TextCtrl(self.parent, -1, str(field[con.ConfigFields.VALUE]), pos=(x+220, y-3), size=(200, -1))
...
}
class MyLineEdit(QtGui.QLineEdit):
def __init__(self, parent=MainWindow):
super(MyLineEdit, self).__init__(parent)
#super(CustomQLineEidt, self).__init__()
def mousePressEvent(self, e):
self.mouseseleted()
def mouseseleted(self):
print "here"
MainWindow.mousePressEvent
Run Code Online (Sandbox Code Playgroud)
我使用以下方法连接任何方法作为单击事件的回调:
class ClickableLineEdit(QLineEdit):
clicked = pyqtSignal() # signal when the text entry is left clicked
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton: self.clicked.emit()
else: super().mousePressEvent(event)
Run Code Online (Sandbox Code Playgroud)
使用方法:
textbox = ClickableLineEdit('Default text')
textbox.clicked.connect(someMethod)
Run Code Online (Sandbox Code Playgroud)
特别针对操作:
self.tc = ClickableLineEdit(self.field[con.ConfigFields.VALUE])
self.tc.clicked.connect(self.mouseseleted)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10908 次 |
| 最近记录: |