【问题标题】:Selecting text for QLinEdit by double clicking on a item in Tablewidget通过双击 Qtablewidget 中的项目为 QLineEedit 选择文本
【发布时间】:2013-12-23 07:13:27
【问题描述】:
在一个对话框中,我有一个表格小部件和多行编辑。用户在其中一个行编辑中单击鼠标,然后双击表格小部件中的项目。在双击槽(self.myfunct)中,如何确定哪个行编辑有光标,以便在右侧行编辑中设置该表项名称?
self.connect(self, QtCore.SIGNAL('itemDoubleClicked(QTableWidgetItem *)'), self.myfunct)
PyQt4 上存在一些包装器,因此我无法直接粘贴代码。
【问题讨论】:
标签:
python
pyqt4
selection
qlineedit
【解决方案1】:
您可以通过保留对最后选择的QLineEdit 的引用来实现您想要的。将self.current_line_edit 初始化为您的第一个QLineEdit,然后将每个QLineEdit 的editingFinished 信号连接到您的自定义插槽。
def __init__(self, parent=None):
...
...
self.current_line_edit = self.line_edit_1
self.tablewidget.itemDoubleClicked.connect(self.onDoubleClick)
self.line_edit_1.editingFinished.connect(self.onChangeLineEdit)
self.line_edit_2.editingFinished.connect(self.onChangeLineEdit)
self.line_edit_3.editingFinished.connect(self.onChangeLineEdit)
...
...
def onChange(self):
self.current_line_edit = self.sender()
def onDoubleClick(self, item):
self.current_line_edit.setText(item.text())