当QStringListModel中包含的数据发生更改时,beginResetModel()和endResetModel()不起作用

时间:2013-10-28 02:31:31

标签: qt qt4 pyqt pyqt4 pyside

当我的代码中的QStringListModel中包含的数据发生变化时,

beginResetModel()和endResetModel()不起作用,任何人都可以解释原因吗?

import sys

from PyQt4.QtGui import *
from PyQt4.QtCore import *



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

        self.view = QTableView()
        hbox = QHBoxLayout()
        hbox.addWidget(self.view)
        self.setLayout(hbox)
        self.resize(800, 600)

        self.lst=[]
        self.stringListModel=QStringListModel (self.lst)
        self.view.setModel(self.stringListModel)

        self.timer = QTimer(self);
        self.timer.timeout.connect(self.timerHit)
        self.timer.start(1000)

    def timerHit(self):
        self.stringListModel.beginResetModel ()
        self.lst.append(QTime.currentTime().toString())
        print(self.lst)
        self.stringListModel.endResetModel ()


app = QApplication(sys.argv)
qb = BoxLayout()
qb.show()
sys.exit(app.exec_())

0 个答案:

没有答案