如何将数据从qlineEdit插入PyQt4中的qtableWidget?

时间:2010-10-17 11:27:19

标签: python uitableview pyqt4

我是PyQt的新手,目前正处理一个用户将数据插入lineEdit并在提交数据后将在tablewidget中显示的表单。 我正在读取lineEdit的数据并打印它,但遗憾的是没有找到任何方法将lineEdit数据添加到tableWidget。数据应出现在确切的单元格中。 如果描述方式将非常有用。 感谢。

1 个答案:

答案 0 :(得分:2)

您是先添加insertRow()行吗?这是一个适合我的快速示例应用程序。调用setItem()时设置行和列。

from PyQt4.QtGui import QApplication, QLineEdit, QTableWidget, QTableWidgetItem, \
    QWidget, QVBoxLayout

class Window(QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)

        self.lineEdit = QLineEdit()

        self.tableWidget = QTableWidget()
        self.tableWidget.setColumnCount(1)

        layout = QVBoxLayout()
        layout.addWidget(self.lineEdit)
        layout.addWidget(self.tableWidget)
        self.setLayout(layout)

        # When 'enter' is pressed call the 'addItem' function.
        self.lineEdit.returnPressed.connect(self.addItem)

    def addItem(self):
        text = self.lineEdit.text()

        # Get the number of rows in the TableWidget and insert
        # a new row at the end.
        lastrow = self.tableWidget.rowCount()
        self.tableWidget.insertRow(lastrow)

        item = QTableWidgetItem(text)

        # .setItem(row, column, item)
        self.tableWidget.setItem(lastrow, 0, item)