2010-06-03 2 views
1

내 PyQt4 앱에 다음과 같은 메소드가 있습니다. r2는 이동할 행 번호이고 r1은 이동해야하는 위치입니다. 명확하게하기 : 테이블은 widgetItem이 아니라 cellWidgets로 채워진다. 내가 마지막 줄을 주석으로 경우 예상대로PyQt4 위젯을 사용하여 QTableWidget 행 이동

def move_row(self, r1, r2): 
    tt = self.tableWidget 
    tt.insertRow(r1) 
    for c in range(tt.columnCount()): 
     tt.setCellWidget(r1, c, tt.cellWidget(r2 + 1, c)) 
    tt.removeRow(r2 + 1) # <--- ??? 

, 그것은 작동 : 새로운 행이 위치 (R1)에 삽입되어, 그것은 R2에서 위젯으로 가득하고, R2 + 1 행 (지금은 R2 + 1입니다) 비었다. 이 행을 숨기더라도 잘 동작합니다. 원하는 행은 아니지만 (번호가 매겨진 행이 있고이 숨겨진 행이 번호를 차지하지 못하도록하고 싶습니다). 그러나 행을 제거하면 처음에 소유 한 위젯이 사라집니다. 소유권이 첫 번째 게재 위치에서 취해진 것처럼 보이며 이동 한 후에는 변경되지 않습니다.

아이디어가 있으십니까?

답변

1

마침내 위젯 값 복사로 끝났습니다.