def _openWorkDir(self, wd=None, reopen=False): '''打开工作目录''' if wd is None: wd = fs.FS.getRecentDirs()[-1] if wd == self.basedir: return print("--openWorkDir:" + wd) tree = self.tree self.basedir = wd # self.fs = fs.FS(self.basedir) model = TreeModel(None, self.fs.loadDir()) tree.setModel(model) for i in range(1, model.columnCount()): tree.setColumnHidden(i, True) # 隐藏其它列 fs.FS.addRecentDir(wd) if not reopen: has_pass = self.fs.getConf("has_pass") if has_pass == "True": self.pswd = de.inputPassword(self) self.has_pass = True else: self.pswd = "" self.has_pass = False last_open = self.fs.getConf("last_open") if last_open != "": self.__openNote(self.fs.apath(last_open)) win_geo = self.fs.getConf("window_geometry") if win_geo != "": v = [int(i) for i in win_geo.split(",")] self.win_geo = QtCore.QRect(v[0], v[1], v[2], v[3]) self.last_sel = self._expand_opened_tree(last_open, tree) if not hasattr(self, 'selchangedevent'): self.tree.selectionModel().selectionChanged.connect( self.treeSelChg) #这个放在上个语句前, 有打不开的情况 self.selchangedevent = True