【问题标题】: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,然后将每个QLineEditeditingFinished 信号连接到您的自定义插槽。

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())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 2012-10-06
    • 1970-01-01
    相关资源
    最近更新 更多