#Time:2022/01/16
# Author:Xiaohong
#功能:Python 更改目录下 目录及文件的 顺序命名,并列出目录内容
# 项目的文件结构方式:
# 1. PyQt5 UI 文件: ChangeFileName.ui
# 2. PyQt5 UI 文件转换生成的 PY 文件: ChangeFileName_Ui.py
# 3. PyQt5 UI 文件对应的 Class 文件: ChangeFileName_Class.py
# 4. 通用的消息显示 文件(在ChangeFileName_Class.py 中被调用): FangMessage.py
# 5. 定制的TableWidget,支持拖拉操作(在ChangeFileName.ui被引用):
TableWidgetDragDropRows.py
# 6. 主文件(调用各种类): Tools_Main.py
效果图如下: 目录原始的文件名:
运行后的文件名(以0X 为前缀,顺序命名):
程式的运行界面:
源程式:ChangeFileName_Ui.py
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'd:\vscode_2020\QtTools\QtTools\ChangeFileName.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_ChangeFileName(object):
def setupUi(self, ChangeFileName):
ChangeFileName.setObjectName("ChangeFileName")
ChangeFileName.resize(689, 590)
self.pb_dirFilename = QtWidgets.QPushButton(ChangeFileName)
self.pb_dirFilename.setGeometry(QtCore.QRect(20, 40, 251, 23))
self.pb_dirFilename.setObjectName("pb_dirFilename")
self.tableWidget_file = TableWidgetDragDropRows(ChangeFileName)
self.tableWidget_file.setGeometry(QtCore.QRect(20, 90, 611, 451))
self.tableWidget_file.setObjectName("tableWidget_file")
self.tableWidget_file.setColumnCount(2)
self.tableWidget_file.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_file.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.tableWidget_file.setHorizontalHeaderItem(1, item)
self.pb_up = QtWidgets.QPushButton(ChangeFileName)
self.pb_up.setGeometry(QtCore.QRect(640, 100, 41, 201))
self.pb_up.setObjectName("pb_up")
self.pb_down = QtWidgets.QPushButton(ChangeFileName)
self.pb_down.setGeometry(QtCore.QRect(640, 330, 41, 211))
self.pb_down.setObjectName("pb_down")
self.pb_change = QtWidgets.QPushButton(ChangeFileName)
self.pb_change.setGeometry(QtCore.QRect(210, 550, 131, 23))
self.pb_change.setObjectName("pb_change")
self.pb_exit = QtWidgets.QPushButton(ChangeFileName)
self.pb_exit.setGeometry(QtCore.QRect(450, 550, 141, 23))
self.pb_exit.setObjectName("pb_exit")
self.label = QtWidgets.QLabel(ChangeFileName)
self.label.setGeometry(QtCore.QRect(220, 10, 251, 21))
font = QtGui.QFont()
font.setFamily("隶书")
font.setPointSize(16)
self.label.setFont(font)
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(ChangeFileName)
self.label_2.setGeometry(QtCore.QRect(20, 14, 121, 16))
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(ChangeFileName)
self.label_3.setGeometry(QtCore.QRect(580, 20, 101, 16))
self.label_3.setObjectName("label_3")
self.lineEdit_pre = QtWidgets.QLineEdit(ChangeFileName)
self.lineEdit_pre.setGeometry(QtCore.QRect(67, 548, 41, 20))
self.lineEdit_pre.setInputMethodHints(QtCore.Qt.ImhUppercaseOnly)
self.lineEdit_pre.setObjectName("lineEdit_pre")
self.label_4 = QtWidgets.QLabel(ChangeFileName)
self.label_4.setGeometry(QtCore.QRect(30, 550, 31, 16))
self.label_4.setObjectName("label_4")
self.spinBox_pre_len = QtWidgets.QSpinBox(ChangeFileName)
self.spinBox_pre_len.setGeometry(QtCore.QRect(150, 550, 42, 22))
self.spinBox_pre_len.setProperty("value", 4)
self.spinBox_pre_len.setObjectName("spinBox_pre_len")
self.label_5 = QtWidgets.QLabel(ChangeFileName)
self.label_5.setGeometry(QtCore.QRect(120, 550, 31, 16))
self.label_5.setObjectName("label_5")
self.lineEdit_dir_path = QtWidgets.QLineEdit(ChangeFileName)
self.lineEdit_dir_path.setGeometry(QtCore.QRect(20, 67, 491, 20))
self.lineEdit_dir_path.setStyleSheet("background-color: rgb(255, 170, 255);