2011-08-12 6 views
1

문자열이있는 배열이 있는데 각 문자열을 tableWidget의 다른 행과 같은 열에 추가하려고합니다.QT/Python의 tableWidget에 문자열을 추가하십시오.

원하는 필드를 변경하려면 setItem 함수를 사용하고 있지만 QTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str' 오류가 발생합니다. 조금 검색 한 결과 tableWidgetItem으로 문자열을 변환하는 데 QTableWidgetItem (here) 함수를 사용해야한다고 생각합니다. 그러나이 함수를 사용하는 방법을 알지 못하고 '유형'이 의미하는 것은 정수 값).

해당 함수를 사용하여 문자열을 tableWidgetItem으로 변환하는 방법은 매우 유용합니다.

지금까지 내 코드는 다음과 같습니다하십시오 tableWidgetsetItem 이상의 문자열을 추가 할 수있는 더 좋은 방법이 있다면 누군가가 지적하면

pc = 2 
i = 0 
while i <= pc: 
    self.tableWidget.insertRow(i) 
    self.tableWidget.setItem(i, 0, parameter[i]) 
    i += 1 

또한 도움이 될 것입니다.

답변

2

QTableWidgetItem 생성자는 문자열을 인수로 사용합니다. 귀하의 경우에는, 당신은 단지 당신의 다섯 번째 줄을 변경해야 setItem이 세 번째 인수에 대한 입력으로 QTableWidgetItem *에 걸리기 때문에 당신은 오류가

self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i])) 
0

(parameter을 가정 할 문자열의 목록입니다). 시도해보십시오

pc = 2 
self.tableWidget.setRowCount(pc) 
i = 0 
while i <= pc: 
    self.tableWidget.setItem(i, 0, QtGui.QTableWidgetItem(parameter[i])) 
    i += 1 
관련 문제