11

Pythonでpyqtを使用してデータをテーブルに追加したいと思います。setItem()関数を使用してaにデータを追加し、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_())
4

1 に答える 1

20

探しているのはメソッド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) に "Sample" を表示します。

これら 2 つのメソッドを呼び出さないとQTableWidget、テーブルの大きさがわからないため、項目を位置 (1, 0) に設定しても意味がありません。

ご存じないかもしれませんが、Qt のドキュメントには詳細が記載されており、多くの例が含まれています (Python に簡単に変換できます)。「詳細な説明」セクションは特に役立ちます。についての詳細情報が必要な場合はQTableWidget、ここにアクセスしてください: http://qt-project.org/doc/qt-4.8/qtablewidget.html#details

于 2012-07-31T01:22:33.433 に答える