+ -
当前位置:首页 → 问答吧 → 问个PyQT的问题

问个PyQT的问题

时间:2011-03-19

来源:互联网

初学Python和QT,有很多疑问,新手求指教
_init_:

self.model = createMailModel(self)
        
        self.centralWidget = QtGui.QWidget(self)
        self.centralWidget.setObjectName(_fromUtf8("centralWidget"))
        
        self.widget = QtGui.QWidget(self.centralWidget)
        self.widget.setGeometry(QtCore.QRect(0, 0, 600, 320))
        self.widget.setObjectName(_fromUtf8("widget"))
        
        self.sourceView = QtGui.QTreeView(self.widget)
        self.sourceView.setRootIsDecorated(False)
        self.sourceView.setAlternatingRowColors(True)
        self.sourceView.setGeometry(QtCore.QRect(-5, 1, 600, 320))
        self.sourceView.setObjectName(_fromUtf8("sourceView"))
        self.setCentralWidget(self.centralWidget)
        
        self.setSourceModel(self.model)

        createMailModel就是把首行显示成固定题头的。可以不用管

    然后我在类里定义了两个方法
    一个是清空QTreeView,一个是添加

    def clear_model(self):                                   
        self.model.removeRows(1, 25)
            
    def fflush_model(self):                                    
        socket = deal_version_pointnum.get_version_pointnum()
        socket.do_version_pointnum()
        
        self.model.removeRows(0, 25)
        ...
        后面是用insertRow(0)实现的添加


运行时,可以添加,但是不能删除是为什么?
是我函数用错了吗?
新手求指教

作者: weakness_28   发布时间: 2011-03-19

用removeRow(0)多循环几次可以有清多行的效果,而且我试过可以实现
那就说明我removeRows方法用错了

求removeRows方法的实例

作者: weakness_28   发布时间: 2011-03-19