Pythonでpyqtを使用してデータをテーブルに追加したいと思います。 setItem()
関数を使用してデータをQTableWidget
に追加し、それに行と列の番号とQTableWidgetItem
を指定する必要があることがわかりました。やりましたが、テーブルを表示したいときは完全に空です。ばかげた間違いをしたかもしれませんが、助けてください。これが私のコードです:
from PyQt4 import QtGui
class Table(QtGui.QDialog):
def __init__(self, parent=None):
super(Table, self).__init__(parent)
layout = QtGui.QGridLayout()
self.led = QtGui.QLineEdit("Sample")
self.table = QtGui.QTableWidget()
layout.addWidget(self.led, 0, 0)
layout.addWidget(self.table, 1, 0)
self.table.setItem(1, 0, QtGui.QTableWidgetItem(self.led.text()))
self.setLayout(layout)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
t = Table()
t.show()
sys.exit(app.exec_())
探しているのはsetRowCount()
メソッドとsetColumnCount()
メソッドです。これらをQTableWidget
で呼び出して、行/列の数を指定します。例えば。
...
self.table = QtGui.QTableWidget()
self.table.setRowCount(5)
self.table.setColumnCount(5)
layout.addWidget(self.led, 0, 0)
layout.addWidget(self.table, 1, 0)
self.table.setItem(1, 0, QtGui.QTableWidgetItem(self.led.text()))
...
このコードは5x5のテーブルを作成し、2行目(インデックス1)と1列目(インデックス0)に「サンプル」を表示します。
これらの2つのメソッドを呼び出さないと、QTableWidget
はテーブルの大きさを認識できないため、アイテムを位置(1、0)に設定しても意味がありません。
あなたがそれを知らない場合のために、 Qt Documentation は詳細であり、多くの例が含まれています(Pythonに簡単に変換できます)。 「詳細な説明」セクションは特に役立ちます。 QTableWidget
の詳細については、こちらをご覧ください: http://qt-project.org/doc/qt-4.8/qtablewidget.html#details