python - Slow operation of PySide QFileSystemModel used by QTableView -
im using widget in new app provide list of files in current directory. works startup operation slow , whenever moving or downwards directory tree update , display of new directory slow.
below class used file explorer part of app;
class filelist(qframe): def __init__(self, parent=none): super(filelist, self).__init__(parent) # self.setframestyle(self.winpanel|self.raised) lo50 = qvboxlayout(self) lo50.setcontentsmargins(0, 0, 0, 0) self.setlayout(lo50) self.cwdtext = qlineedit(self) self.cwdtext.setreadonly(true) lo50.addwidget(self.cwdtext) self.list = qtableview(self) self.list.setsortingenabled(true) self.list.setshowgrid(false) self.list.setwordwrap(false) self.list.setcornerbuttonenabled(false) vh = self.list.verticalheader() vh.hide() vh.setdefaultsectionsize(20) self.filemodel = qfilesystemmodel(self) self.filemodel.setfilter(qdir.alldirs | qdir.files | qdir.nodot | qdir.drives | qdir.allentries) self.filemodel.setnamefilterdisables(false) self.list.setmodel(self.filemodel) lo50.addwidget(self.list) self.chdir(qdir.currentpath()) self.list.doubleclicked.connect(self.doubleclick) def chdir(self, directory): newdir = obj2str(directory) = self.filemodel.setrootpath(newdir) self.list.setrootindex(i) cwd = os.path.abspath(newdir) os.chdir(cwd) self.cwdtext.settext(cwd) homecoming def doubleclick(self, index): if self.filemodel.isdir(index): self.chdir(self.filemodel.filepath(index)) else: print(self.filemodel.filepath(index))
i think downwards pyside , qfilesystemmodel itself.
im using pyside version 1.2.1 qtcore 4.8.6 , found today worked fine hr without changes area of code , reverted 1 time again slow operation. think might create own simpler model view or seek pyqt4.
python qt pyside
No comments:
Post a Comment