簡體   English   中英

在Python中使用PyQt4將數據添加到QTableWidget

[英]Adding data to QTableWidget using PyQt4 in Python

我想在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的表格,並在第二行(索引為1)和第一列(索引為0)中顯示“樣本”。

如果不調用這兩個方法, QTableWidget將不知道表的大小,因此將項目設置在位置(1,0)不會有意義。

如果您不了解它,則將詳細介紹Qt文檔 ,其中包含許多示例(可以輕松將其轉換為Python)。 “詳細說明”部分特別有用。 如果您想了解有關QTableWidget更多信息,請訪問: http : //qt-project.org/doc/qt-4.8/qtablewidget.html#details

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM