Ejemplo n.º 1
0
    def _worker_path_searching(self, is_current=True):
        try:
            self.cur_index = 0  # 不能自动播放了,否则会不同步
            self.auto_play = False
            self.cb_auto_show.setChecked(False)
            if is_current:
                # print(self.sub_dir)
                if self.cur_path:
                    if self.sub_dir:
                        self.cur_files = Utils.getFiles(
                            self.cur_path, self.suffix)
                    else:
                        self.cur_files = Utils.files_in_dir(
                            self.cur_path, self.suffix, True)
            else:
                # print(self.search_path)
                for each in self.search_path:
                    if self.sub_dir:
                        self.cur_files += Utils.getFiles(each, self.suffix)
                    else:
                        self.cur_files += Utils.files_in_dir(
                            each, self.suffix, True)

            with open(self.save_file, 'w') as w_file:  # 打开文件,如果文件不存在,则创建
                Utils.cout_list(self.cur_files, True, fh=w_file)  # 输出到文件

        except IOError as err:  # 异常处理
            print("File error: " + str(err))
Ejemplo n.º 2
0
    def slot_pb_clicked(self, controls):
        name = controls.objectName()
        # print(name)
        if name == 'pb_add_files':
            file_list, _ = QtWidgets.QFileDialog.getOpenFileNames(
                self, '多文件选取', '', self.ext_filter, None,
                QtWidgets.QFileDialog.DontUseNativeDialog)
            # print(file_list)
            data = self.createDate(file_list)
            self.tableWidget.update_data(data)
            self.tableWidget.update_table()
        elif name == 'pb_open_dir':
            path = QtWidgets.QFileDialog.getExistingDirectory(
                self, "选取源文件夹", '', QtWidgets.QFileDialog.ShowDirsOnly)  # 起始路径
            if path:
                self.src_path = path
                self.lineEdit_src_dir.setText(path)
                self.src_files = Utils.files_in_dir(path, ['.doc', '.docx'],
                                                    True)

                data = self._createDate(self.src_files)
                self.tableWidget.update_data(data)
                self.tableWidget.update_table()
        elif name == 'pb_clear':
            self.tableWidget.update_data(None)
            self.tableWidget.update_table()
        elif name == 'pb_save_path':
            path = QtWidgets.QFileDialog.getSaveFileName(
                self, "选取保存文件夹", '.', self.ext_filter)  # 起始路径
            if path:
                # self.save_path, self.save_file = os.path.splitdrive(path[0])
                # self.save_path, self.save_file = os.path.splitext(path[0])
                self.save_path, self.save_file = os.path.split(path[0])
                self.save_path = path[0]
                # print(path)
                self.lineEdit_save_path.setText(self.save_path)
        elif name == 'pb_merge':
            rows = self.tableWidget.selectedItems()
            self.merge_files.clear()
            # self.files_weight.clear()
            for each in rows:
                file_name = each.text()
                file_path = os.path.join(self.src_path, file_name)  # 构造完整路径
                if os.path.isfile(file_path):
                    self.merge_files.append(file_path)
                    # self.files_weight.append(Utils.get_FileSize(file_path))

            # print(self.files_weight)
            # print(self.save_path)

            if self.save_path:
                # path = os.path.join(self.save_path, self.save_file)  # 构造完整路径
                if self.merge_files:
                    Utils.mergewords(self.merge_files, self.save_path,
                                     self.progressBar)
                else:
                    AnimWin('请指定保存路径')
        else:
            pass
Ejemplo n.º 3
0
    def data_stores(self):
        # plans = ['8个最好用的哑铃训练动作',
        #     "一副哑铃练全身"]
        # MyJson.write(plans, os.path.join(self.data_dir, 'plan.json'))
        files = Utils.files_in_dir(self.data_dir, ['.json'], True)
        file = files[0]

        self.plans.clear()
        self.plans.extend(MyJson.read(file))
Ejemplo n.º 4
0
    def slot_toolbar_clicked(self, name):
        if name == 'doc转换':
            wg = self.canvas.currentWidget()

            # path = QtWidgets.QFileDialog.getExistingDirectory(
            #     self, "选取源文件夹", r'F:\重要\法律与工程经济讲义',
            #     QtWidgets.QFileDialog.ShowDirsOnly)  # 起始路径
            path = r'F:\重要\法律与工程经济讲义'
            print(path)
            # return
            if path:
                self.src_path = path
                self.src_files = Utils.files_in_dir(path, ['.doc', '.docx'])

                Utils.sort_nicely(self.src_files)
                print(self.src_files)
                if not self.src_files:
                    return
                for each in self.src_files:
                    item = QtWidgets.QListWidgetItem(QtGui.QIcon(), each, wg)
                    #     item.setToolTip(self.data[i])
                    item.setSizeHint(QtCore.QSize(
                        16777215, 50))  # 设置item的默认宽高(这里只有高度比较有用)
                    item.setTextAlignment(QtCore.Qt.AlignCenter)  # 文字居中

                    name, _ = os.path.splitext(each)
                    doc = f'{path}\\{each}'
                    pdf = f'{path}\\{name}.pdf'
                    print(doc, pdf)

                    self.butler.word2pdf(doc, pdf)
                #
                # # print(path)
                self.butler.merge_pdf(path, '合并.pdf')

        elif name == '缩图':
            file_list, _ = QtWidgets.QFileDialog.getOpenFileNames(
                self, '多文件选取', '',
                'img Files(*.png *.jpg *.jpeg *.gif *.bmp *.tiff);;All Files(*.*)',
                None, QtWidgets.QFileDialog.DontUseNativeDialog)
            print(file_list)

            scale = 1.0
            for each in file_list:
                file_in, ext = os.path.splitext(each)
                file_jpg = f'{file_in}.jpg'
                print(file_in, file_jpg, ext)
                ImageConvert.png_jpg(each, file_jpg, scale)

        elif name == '水印':
            # self.child_win.show()  # -----  modeless dialog
            self.child_win.exec()  # ------ modal  dialog
Ejemplo n.º 5
0
    def flushDir(self):
        dir_path = self.data_path['dir_src']
        if not dir_path:
            AnimWin('没有源目录')
            return

        tmp = Utils.getSubStr(dir_path, 10)
        # print(tmp)
        self.label_src.setText(u'源文件目录:' + tmp)

        self.files_all.clear()
        self.listWidget_src.clear()
        self.checked = False

        self.files_all = Utils.files_in_dir(dir_path, ['.doc', '.docx'])
        if not self.files_all:
            return
        Utils.sort_nicely(self.files_all)

        for each in self.files_all:
            item = QtWidgets.QListWidgetItem(each)
            self.listWidget_src.addItem(item)

        self.statusbar.showMessage(f'总文件:{len(self.files_all)}    选中:0', 0)