コード例 #1
0
    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()
コード例 #2
0
 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)
コード例 #3
0
 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])
コード例 #4
0
    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)
コード例 #5
0
 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)
コード例 #6
0
 def listenEvents(self):
     eventSystem.listen("finishTextCluster", self.finishClassify, self)
     eventSystem.listen("setTextCluster", self.setCluserCount, self)
コード例 #7
0
 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)
コード例 #8
0
 def listenEvents(self):
     eventSystem.listen("finishTextClassify", self.finishClassify, self)
     eventSystem.listen("setTextClass", self.setTextClass, self)
コード例 #9
0
    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
コード例 #10
0
 def listenEvents(self):
     # 监听事件
     eventSystem.listen("triggerFormPanel", self.triggerFormPanel, self)
     eventSystem.listen("triggerResultPanel", self.triggerResultPanel, self)
コード例 #11
0
 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)
コード例 #12
0
 def listenEvents(self):
     eventSystem.listen("finishRepeatSearch", self.finishSearch,self)