【发布时间】:2014-02-25 18:12:55
【问题描述】:
我正在使用 pyqt4 制作一个 gui。当我将来自 sqlite 的数据插入到我的 qtablewidget 表中时,它只会在我关闭程序并重新打开它后自行更新。在插入/删除或更改数据后,如何让程序自动更新(刷新类)?
【问题讨论】:
标签: python sqlite class pyqt4 qtablewidget
我正在使用 pyqt4 制作一个 gui。当我将来自 sqlite 的数据插入到我的 qtablewidget 表中时,它只会在我关闭程序并重新打开它后自行更新。在插入/删除或更改数据后,如何让程序自动更新(刷新类)?
【问题讨论】:
标签: python sqlite class pyqt4 qtablewidget
由于我不确定您是如何实现代码的,也许下面的代码可以帮助您。
#!/usr/bin/python
import sys
from PyQt4.QtGui import QWidget, QPushButton, QMainWindow, QTableWidget,QTableWidgetItem, QVBoxLayout, QApplication
from PyQt4.QtCore import Qt
class MyMainWindow(QMainWindow):
def __init__(self, parent=None):
"""
"""
super(MyMainWindow,self).__init__(parent)
self.setWidgets()
def setWidgets(self, ):
vBox = QVBoxLayout()
mainFrame = QWidget()
self._pressButton = QPushButton("Update Table",self)
self._pressButton.clicked.connect(self.updateTable)
self._table = QTableWidget(self)
self._table.setRowCount(3)
self._table.setColumnCount(3)
vBox.addWidget(self._pressButton)
vBox.addWidget(self._table)
mainFrame.setLayout(vBox)
self.setCentralWidget(mainFrame)
def updateTable(self, ):
i = self._table.currentRow()
if i == -1:
i=0
self._table.insertRow(i)
self._table.setItem(i,0,QTableWidgetItem("Test"))
if __name__ == '__main__':
qApp = QApplication(sys.argv)
MainWindow = MyMainWindow()
MainWindow.show()
sys.exit(qApp.exec_())
干杯
【讨论】: