2011-08-12 25 views
1

文字列を持つ配列があり、それぞれの文字列を別の行に入れて同じ列のtableWidgetを追加したいとします。QT/PythonのtableWidgetに文字列を追加する

私は目的のフィールドを変更するのにsetItem機能を使用していますが、エラーQTableWidget.setItem(int, int, QTableWidgetItem): argument 3 has unexpected type 'str'が表示されます。 少し検索しましたが、文字列をtableWidgetItemに変換するには、関数QTableWidgetItemhere)を使用する必要があると思いますが、その関数の使用方法はわかりません。 )。

この関数を使用して文字列をtableWidgetItemに変換する方法は非常に便利です(具体的な例)。

これまでのところ私のコードは次のようになります。

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

setItemよりtableWidgetに文字列を追加するためのより良い方法があるかどう誰かが指摘する場合、それはまた、参考になります。

答えて

2

QTableWidgetItemコンストラクタは文字列を引数として受け取ります。あなたのケースでは、あなただけにあなたの5行目を変更する必要が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 
関連する問題