def __init__(self, parent, size, initId): super().__init__(parent) self.resize(*size) eventSystem.listen("changeTab", self.changeTab, self) self.constructors = { "normalSearch" : NormalFileSearchTab, "similarImageSearch": SimilarImageSearchTab, "repeatDetect" : MainContentTabCheck, "textClassify" : ClassifyTextTab, "imageClassify": ClassifyImageTab, "textCluster": ClusterTextTab, "imageCluster" : ImageClusterTab, "setting": SettingTab, } self.idMenuMap = { "similarImageSearch": "search", "normalSearch" : "search", "textClassify" : "classify", "imageClassify" : "classify", "textCluster" : "classify", "imageCluster" : "classify" } self.active = None self.tabs = {} self.changeTab(initId) self.show()
def __init__(self, p): super().__init__(p) self.form = {} self.checkedType = {} self.searcher = None self.searching = False self.initUI("文本自动分类", topMargin=120, bottomMargin=200) eventSystem.listen("stopSearch", self.stopSearch, self)
def __init__(self, p, size): thumbSize = config("search.similarSearchThumbSize") super().__init__(p, size, [ Field("action", "操作", hasValue=False, delegateClass=ActionDelegate), Field("thumb", "缩略图", defaultSize=thumbSize[0], delegateClass=ThumbDelegate, delegateParameters=(thumbSize, )), Field("similarPercentage", "相似度") ], closeFields=["updatedTime", "accessTime"]) eventSystem.listen("finishedSimilarImageSearch", self.getResults, self) self.setObjectName("similarImageSearchResult") self.tableView.verticalHeader().setDefaultSectionSize(thumbSize[1])
def initUI(self, size): menuData = ( ('文件搜索', 'search', "normalSearch"), ('重复文件检测', 'repeatDetect'), ('文件整理', 'classify', 'textClassify'), ('系统设置', 'setting'), ) menus = [] w, h = size[0], size[1] / len(menuData) y = 0 for menu in menuData: item = MenuItem(self, *menu) item.resize(w, h) item.setStyleSheet(config("gui.menuItemStyle").format(menu[1])) item.setObjectName("menuItem") item.setFrameRect(QRect(0, 100, w, 30)) item.move(0, y) y += h menus.append(item) self.menus = menus eventSystem.listen("selectedMenu", self.selectedMenu, self)
def __init__(self, p): super().__init__(p) self.checkedType = {} self.submitState = WAITING self.worker: SearchThread = None self.initUI("文件高级搜索") eventSystem.listen("stopSearch", self.stopSearch, self) eventSystem.listen("setSubmitState", self.setSubmitState, self) eventSystem.listen("notifyFilter", self.notifyFilter, self)
def listenEvents(self): eventSystem.listen("finishTextCluster", self.finishClassify, self) eventSystem.listen("setTextCluster", self.setCluserCount, self)
def __init__(self, p): super().__init__(p) self.initUI("重复文件检测",topMargin=120, bottomMargin=250) eventSystem.listen("stopSearch", self.stopSearch, self) eventSystem.listen("researchRepeatDetect", self.research, self)
def listenEvents(self): eventSystem.listen("finishTextClassify", self.finishClassify, self) eventSystem.listen("setTextClass", self.setTextClass, self)
def __init__(self, parent=None): super(MainForm, self).__init__(parent) self.id = 0 self.clearResult = True self.queueFiles = [] self.timer: QTimer = None self.setObjectName("mainWindow") self.setStyleSheet(""" #mainWindow{ background-color:#f7f9fc; } QHeaderView{ padding:0; margin:0; } QHeaderView::section { background-color:#f7f9fc; border: 0; color: #6d6f72; } QTableView::item,#QTableViewDelegate{ background-color:#f7f9fc; border:0; min-height: 200px; } QTableView::item:hover { background-color: #dae2f0; } #tableViewOpenBtn{ margin: 0 auto; } """) layout = QVBoxLayout() fields = [ Field("action", "操作", editable=True, delegateClass=ActionDelegate), Field("fileName", "文件名", editable=True), Field("fileSize", "文件大小", formatMethod=fileSizeConvertToFitUnit), Field("createdTime", "创建时间", formatMethod=timestampConvertToString), Field("updatedTime", "修改时间", formatMethod=timestampConvertToString), Field("accessTime", "最近一次访问时间", formatMethod=timestampConvertToString), Field("path", "所属目录") ] model = FileTableModel(fields, ["操作"]) tableView = MyTreeView(model, fields) tableView.setFrameShape(QFrame.NoFrame) tableView.setMaximumSize(800, 400) tableView.setItemDelegateForColumn(1, ActionDelegate(tableView)) header = tableView.horizontalHeader() header.sectionClicked[int].connect(self.sortTable) layout.addWidget(tableView) self.setLayout(layout) Hbox = QHBoxLayout() openChecked = QPushButton("打开选中文件", self) openChecked.clicked.connect(model.openChecked) Hbox.addWidget(openChecked) moveChecked = QPushButton("移动选中文件", self) moveChecked.clicked.connect(model.moveChecked) Hbox.addWidget(moveChecked) deleteButton = QPushButton("删除选中文件", self) deleteButton.clicked.connect(model.deleteChecked) Hbox.addWidget(deleteButton) searchButton = QPushButton("停止搜索", self) searchButton.clicked.connect(self.clickedSearchBtn) layout.addLayout(Hbox) self.tableView = tableView self.model = model self.setMinimumSize(800, 600) self.initialLoad() # timer = QTimer() # timer.timeout.connect(self.generate) # timer.start(1000) # self.timer = timer eventSystem.listen("getPartialResult", self.getPartialResult, self) eventSystem.listen("finishClassify", self.finishSearch, self) eventSystem.listen("stopSearch", self.stopSearch, self) self.tableView = tableView self.model = model
def listenEvents(self): # 监听事件 eventSystem.listen("triggerFormPanel", self.triggerFormPanel, self) eventSystem.listen("triggerResultPanel", self.triggerResultPanel, self)
def listenEvents(self): eventSystem.listen("startInsert", self.runInsertTimer, self) eventSystem.listen("getPartialResult", self.getPartialResult, self) eventSystem.listen("finishNormalSearch", self.finishNormalSearch, self) eventSystem.listen("notifyStop", lambda : self.submitBtn.setText("重新搜索"), self) eventSystem.listen("notifyFilterResult", self.notifyFilterResult, self)
def listenEvents(self): eventSystem.listen("finishRepeatSearch", self.finishSearch,self)