2013-12-23 2 views
2

대화 상자에서 테이블 위젯과 여러 행을 편집했습니다. 사용자는 라인 편집 중 하나에서 마우스를 클릭 한 다음 테이블 위젯에서 항목을 두 번 클릭합니다. 더블 클릭 슬롯 (self.myfunct)에서 커서가있는 라인 편집을 어떻게 결정할 수 있습니까? 그래서 올바른 라인 편집에서 해당 테이블 항목 이름을 설정할 수 있습니까?Tablewidget에서 항목을 두 번 클릭하여 QLinEdit 텍스트 선택

self.connect(self, QtCore.SIGNAL('itemDoubleClicked(QTableWidgetItem *)'), self.myfunct) 

코드를 직접 붙여 넣을 수 없기 때문에 일부 래퍼가 PyQt4 위에 있습니다.

screenshot1

+0

무슨 짓을 한거야? – Sach

답변

0

당신은 마지막으로 선택한 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()) 
+0

그것은 작동합니다, 고마워요. 미래를위한 아이디어도 있습니다. – Jagat

관련 문제