1 Star 0 Fork 0

Gentlesprite/File_Date_Changer

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
ui.py 48.69 KB
一键复制 编辑 原始数据 按行查看 历史
LZY/我不是盘神 提交于 2024-09-09 00:20 +08:00 . v0.7
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864
# coding=UTF-8
# Author:Gentlesprite
# Software:PyCharm
# Time:2024/4/15 15:53
# File:ui
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'app0LgiTin.ui'
##
## Created by: Qt User Interface Compiler version 5.15.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *
import os
from qfluentwidgets import CheckBox
from qfluentwidgets import PushButton
from qfluentwidgets import ToolButton
from qfluentwidgets import CalendarPicker
from qfluentwidgets import TimePicker
from qfluentwidgets import StrongBodyLabel
from qfluentwidgets import TextEdit
from qfluentwidgets import TableWidget
from qfluentwidgets.components.date_time.calendar_view import CalendarView
from qfluentwidgets.components.date_time.time_picker import DigitFormatter, MiniuteFormatter
class Ui_Form(object):
def setupUi(self, Form):
if not Form.objectName():
Form.setObjectName(u"Form")
Form.resize(898, 352)
sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(Form.sizePolicy().hasHeightForWidth())
Form.setSizePolicy(sizePolicy)
Form.setMinimumSize(QSize(898, 0))
self.gridLayout_3 = QGridLayout(Form)
self.gridLayout_3.setObjectName(u"gridLayout_3")
self.gridLayout_2 = QGridLayout()
self.gridLayout_2.setObjectName(u"gridLayout_2")
self.table_widget_info_bar = TableWidget(Form)
self.table_widget_info_bar.setObjectName(u"table_widget_info_bar")
self.gridLayout_2.addWidget(self.table_widget_info_bar, 0, 0, 1, 1)
self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.text_edit_path_input = DropTextEdit(Form)
self.text_edit_path_input.setObjectName(u"text_edit_path_input")
sizePolicy1 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Maximum)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.text_edit_path_input.sizePolicy().hasHeightForWidth())
self.text_edit_path_input.setSizePolicy(sizePolicy1)
self.text_edit_path_input.setMinimumSize(QSize(500, 124))
self.text_edit_path_input.setMaximumSize(QSize(16777215, 124))
self.horizontalLayout_3.addWidget(self.text_edit_path_input)
self.gridLayout = QGridLayout()
self.gridLayout.setObjectName(u"gridLayout")
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setSpacing(0)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.StrongBodyLabel = StrongBodyLabel(Form)
self.StrongBodyLabel.setObjectName(u"StrongBodyLabel")
self.StrongBodyLabel.setMinimumSize(QSize(90, 20))
self.StrongBodyLabel.setMaximumSize(QSize(90, 20))
self.horizontalLayout_2.addWidget(self.StrongBodyLabel)
self.tool_button_toggle_theme = ToolButton(Form)
self.tool_button_toggle_theme.setObjectName(u"tool_button_toggle_theme")
sizePolicy2 = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed)
sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.tool_button_toggle_theme.sizePolicy().hasHeightForWidth())
self.tool_button_toggle_theme.setSizePolicy(sizePolicy2)
self.tool_button_toggle_theme.setMinimumSize(QSize(20, 20))
self.tool_button_toggle_theme.setMaximumSize(QSize(20, 20))
self.tool_button_toggle_theme.setStyleSheet(u"PushButton, ToolButton, ToggleButton, ToggleToolButton {\n"
" color: black;\n"
" background: rgba(255, 255, 255, 0.7);\n"
" border: 1px solid rgba(0, 0, 0, 0.073);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.183);\n"
" border-radius: 5px;\n"
" /* font: 14px 'Segoe UI', 'Microsoft YaHei'; */\n"
" padding: 5px 12px 6px 12px;\n"
" outline: none;\n"
"}\n"
"\n"
"ToolButton {\n"
" padding: 5px 9px 6px 8px;\n"
"}\n"
"\n"
"PushButton[hasIcon=false] {\n"
" padding: 5px 12px 6px 12px;\n"
"}\n"
"\n"
"PushButton[hasIcon=true] {\n"
" padding: 5px 12px 6px 36px;\n"
"}\n"
"\n"
"DropDownToolButton, PrimaryDropDownToolButton {\n"
" padding: 5px 31px 6px 8px;\n"
"}\n"
"\n"
"DropDownPushButton[hasIcon=false],\n"
"PrimaryDropDownPushButton[hasIcon=false] {\n"
" padding: 5px 31px 6px 12px;\n"
"}\n"
"\n"
"DropDownPushButton[hasIcon=true],\n"
"PrimaryDropDownPushButton[hasIcon=true] {\n"
" padding: 5px 31px 6px 36px;\n"
"}\n"
"\n"
"PushButton:hover, ToolButton:hover, ToggleButton:hover, To"
"ggleToolButton:hover {\n"
" background: rgba(249, 249, 249, 0.5);\n"
"}\n"
"\n"
"PushButton:pressed, ToolButton:pressed, ToggleButton:pressed, ToggleToolButton:pressed {\n"
" color: rgba(0, 0, 0, 0.63);\n"
" background: rgba(249, 249, 249, 0.3);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.073);\n"
"}\n"
"\n"
"PushButton:disabled, ToolButton:disabled, ToggleButton:disabled, ToggleToolButton:disabled {\n"
" color: rgba(0, 0, 0, 0.36);\n"
" background: rgba(249, 249, 249, 0.3);\n"
" border: 1px solid rgba(0, 0, 0, 0.06);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.06);\n"
"}\n"
"\n"
"\n"
"PrimaryPushButton,\n"
"PrimaryToolButton,\n"
"ToggleButton:checked,\n"
"ToggleToolButton:checked {\n"
" color: white;\n"
" background-color: #009faa;\n"
" border: 1px solid #00a7b3;\n"
" border-bottom: 1px solid #007780;\n"
"}\n"
"\n"
"PrimaryPushButton:hover,\n"
"PrimaryToolButton:hover,\n"
"ToggleButton:checked:hover,\n"
"ToggleToolButton:checked:hover {\n"
" background-color: #00a7b3"
";\n"
" border: 1px solid #2daab3;\n"
" border-bottom: 1px solid #007780;\n"
"}\n"
"\n"
"PrimaryPushButton:pressed,\n"
"PrimaryToolButton:pressed,\n"
"ToggleButton:checked:pressed,\n"
"ToggleToolButton:checked:pressed {\n"
" color: rgba(255, 255, 255, 0.63);\n"
" background-color: #3eabb3;\n"
" border: 1px solid #3eabb3;\n"
"}\n"
"\n"
"PrimaryPushButton:disabled,\n"
"PrimaryToolButton:disabled,\n"
"ToggleButton:checked:disabled,\n"
"ToggleToolButton:checked:disabled {\n"
" color: rgba(255, 255, 255, 0.9);\n"
" background-color: rgb(205, 205, 205);\n"
" border: 1px solid rgb(205, 205, 205);\n"
"}\n"
"\n"
"SplitDropButton,\n"
"PrimarySplitDropButton {\n"
" border-left: none;\n"
" border-top-left-radius: 0;\n"
" border-bottom-left-radius: 0;\n"
"}\n"
"\n"
"#splitPushButton,\n"
"#splitToolButton,\n"
"#primarySplitPushButton,\n"
"#primarySplitToolButton {\n"
" border-top-right-radius: 0;\n"
" border-bottom-right-radius: 0;\n"
"}\n"
"\n"
"#splitPushButton:pressed,\n"
"#splitTool"
"Button:pressed,\n"
"SplitDropButton:pressed {\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.183);\n"
"}\n"
"\n"
"PrimarySplitDropButton:pressed {\n"
" border-bottom: 1px solid #007780;\n"
"}\n"
"\n"
"#primarySplitPushButton, #primarySplitToolButton {\n"
" border-right: 1px solid #3eabb3;\n"
"}\n"
"\n"
"#primarySplitPushButton:pressed, #primarySplitToolButton:pressed {\n"
" border-bottom: 1px solid #007780;\n"
"}\n"
"\n"
"HyperlinkButton {\n"
" /* font: 14px 'Segoe UI', 'Microsoft YaHei'; */\n"
" padding: 6px 12px 6px 12px;\n"
" color: #009faa;\n"
" border: none;\n"
" border-radius: 6px;\n"
" background-color: transparent;\n"
"}\n"
"\n"
"HyperlinkButton[hasIcon=false] {\n"
" padding: 6px 12px 6px 12px;\n"
"}\n"
"\n"
"HyperlinkButton[hasIcon=true] {\n"
" padding: 6px 12px 6px 36px;\n"
"}\n"
"\n"
"HyperlinkButton:hover {\n"
" color: #009faa;\n"
" background-color: rgba(0, 0, 0, 10);\n"
" border: none;\n"
"}\n"
"\n"
"HyperlinkButton:pressed {\n"
" color: #009faa;\n"
""
" background-color: rgba(0, 0, 0, 6);\n"
" border: none;\n"
"}\n"
"\n"
"HyperlinkButton:disabled {\n"
" color: rgba(0, 0, 0, 0.43);\n"
" background-color: transparent;\n"
" border: none;\n"
"}\n"
"\n"
"\n"
"RadioButton {\n"
" min-height: 24px;\n"
" max-height: 24px;\n"
" background-color: transparent;\n"
" font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';\n"
" color: black;\n"
"}\n"
"\n"
"RadioButton::indicator {\n"
" width: 18px;\n"
" height: 18px;\n"
" border-radius: 11px;\n"
" border: 2px solid #999999;\n"
" background-color: rgba(0, 0, 0, 5);\n"
" margin-right: 4px;\n"
"}\n"
"\n"
"RadioButton::indicator:hover {\n"
" background-color: rgba(0, 0, 0, 0);\n"
"}\n"
"\n"
"RadioButton::indicator:pressed {\n"
" border: 2px solid #bbbbbb;\n"
" background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,\n"
" stop:0 rgb(255, 255, 255),\n"
" stop:0.5 rgb(255, 255, 255),\n"
" stop:0.6 rgb(225, 2"
"24, 223),\n"
" stop:1 rgb(225, 224, 223));\n"
"}\n"
"\n"
"RadioButton::indicator:checked {\n"
" height: 22px;\n"
" width: 22px;\n"
" border: none;\n"
" border-radius: 11px;\n"
" background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,\n"
" stop:0 rgb(255, 255, 255),\n"
" stop:0.5 rgb(255, 255, 255),\n"
" stop:0.6 #009faa,\n"
" stop:1 #009faa);\n"
"}\n"
"\n"
"RadioButton::indicator:checked:hover {\n"
" background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,\n"
" stop:0 rgb(255, 255, 255),\n"
" stop:0.6 rgb(255, 255, 255),\n"
" stop:0.7 #009faa,\n"
" stop:1 #009faa);\n"
"}\n"
"\n"
"RadioButton::indicator:checked:pressed {\n"
" background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,\n"
" stop:0 rgb(255, 255, 255),\n"
" stop:0.5 rgb(255, 255, 255),\n"
" stop:0.6 #0"
"09faa,\n"
" stop:1 #009faa);\n"
"}\n"
"\n"
"RadioButton:disabled {\n"
" color: rgba(0, 0, 0, 110);\n"
"}\n"
"\n"
"RadioButton::indicator:disabled {\n"
" border: 2px solid #bbbbbb;\n"
" background-color: transparent;\n"
"}\n"
"\n"
"RadioButton::indicator:disabled:checked {\n"
" border: none;\n"
" background-color: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,\n"
" stop:0 rgb(255, 255, 255),\n"
" stop:0.5 rgb(255, 255, 255),\n"
" stop:0.6 rgba(0, 0, 0, 0.2169),\n"
" stop:1 rgba(0, 0, 0, 0.2169));\n"
"}\n"
"\n"
"TransparentToolButton,\n"
"TransparentToggleToolButton,\n"
"TransparentDropDownToolButton,\n"
"TransparentPushButton,\n"
"TransparentDropDownPushButton,\n"
"TransparentTogglePushButton {\n"
" background-color: transparent;\n"
" border: none;\n"
" border-radius: 5px;\n"
" margin: 0;\n"
"}\n"
"\n"
"TransparentToolButton:hover,\n"
"TransparentToggleToolButton:hover,\n"
"TransparentDropDownToolButton:ho"
"ver,\n"
"TransparentPushButton:hover,\n"
"TransparentDropDownPushButton:hover,\n"
"TransparentTogglePushButton:hover {\n"
" background-color: rgba(0, 0, 0, 9);\n"
" border: none;\n"
"}\n"
"\n"
"TransparentToolButton:pressed,\n"
"TransparentToggleToolButton:pressed,\n"
"TransparentDropDownToolButton:pressed,\n"
"TransparentPushButton:pressed,\n"
"TransparentDropDownPushButton:pressed,\n"
"TransparentTogglePushButton:pressed {\n"
" background-color: rgba(0, 0, 0, 6);\n"
" border: none;\n"
"}\n"
"\n"
"TransparentToolButton:disabled,\n"
"TransparentToggleToolButton:disabled,\n"
"TransparentDropDownToolButton:disabled,\n"
"TransprentPushButton:disabled,\n"
"TransparentDropDownPushButton:disabled,\n"
"TransprentTogglePushButton:disabled {\n"
" background-color: transparent;\n"
" border: none;\n"
"}\n"
"\n"
"\n"
"PillPushButton,\n"
"PillPushButton:hover,\n"
"PillPushButton:pressed,\n"
"PillPushButton:disabled,\n"
"PillPushButton:checked,\n"
"PillPushButton:checked:hover,\n"
"PillPushButton:checked:p"
"ressed,\n"
"PillPushButton:disabled:checked,\n"
"PillToolButton,\n"
"PillToolButton:hover,\n"
"PillToolButton:pressed,\n"
"PillToolButton:disabled,\n"
"PillToolButton:checked,\n"
"PillToolButton:checked:hover,\n"
"PillToolButton:checked:pressed,\n"
"PillToolButton:disabled:checked {\n"
" background-color: transparent;\n"
" border: none;\n"
"}\n"
"")
self.horizontalLayout_2.addWidget(self.tool_button_toggle_theme)
self.horizontalSpacer = QSpacerItem(211, 17, QSizePolicy.Expanding, QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(self.horizontalSpacer)
self.gridLayout.addLayout(self.horizontalLayout_2, 0, 0, 1, 2)
self.verticalLayout_2 = QVBoxLayout()
self.verticalLayout_2.setSpacing(6)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.calendar_picker_ymd = HandleCalendarPicker(Form)
self.calendar_picker_ymd.setObjectName(u"calendar_picker_ymd")
self.calendar_picker_ymd.setMinimumSize(QSize(240, 30))
self.calendar_picker_ymd.setMaximumSize(QSize(240, 30))
self.calendar_picker_ymd.setAutoDefault(False)
self.calendar_picker_ymd.setStyleSheet("""
#titleButton {
font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
font-weight: 500;
color: black;
background-color: transparent;
border: none;
margin: 0;
padding-left: 8px;
text-align: left;
border-radius: 5px;
}
#titleButton:hover {
background-color: rgba(0, 0, 0, 9);
}
#titleButton:pressed {
background-color: rgba(0, 0, 0, 6);
}
#titleButton:disabled {
color: rgba(0, 0, 0, 0.4);
}
#weekDayLabel {
font: 12px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
font-weight: 500;
color: black;
background-color: transparent;
border: none;
text-align: center;
}
#weekDayGroup {
background-color: transparent;
}
CalendarViewBase {
background-color: rgb(255, 255, 255);
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
ScrollViewBase {
border: none;
padding: 0px 1px 0px 1px;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
border-top: 1px solid rgb(240, 240, 240);
background-color: transparent;
}
CalendarPicker[color="rgba(0, 0, 0, 0.6063)"] {
color: rgba(0, 0, 0, 0.6063);
background: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(0, 0, 0, 0.073);
border-bottom: 1px solid rgba(0, 0, 0, 0.183);
border-radius: 5px;
font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';
padding: 5px 32px 6px 12px;
outline: none;
text-align: left;
}
CalendarPicker:hover {
background: rgba(249, 249, 249, 0.5);
}
CalendarPicker:pressed {
background: rgba(249, 249, 249, 0.3);
border-bottom: 1px solid rgba(0, 0, 0, 0.073);
}
CalendarPicker:disabled {
color: rgba(0, 0, 0, 0.36);
background: rgba(249, 249, 249, 0.3);
border: 1px solid rgba(0, 0, 0, 0.06);
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
CalendarPicker[hasDate=true] {
color: black;
}
""")
self.verticalLayout_2.addWidget(self.calendar_picker_ymd)
self.time_picker_hms = HandleTimePicker(Form)
self.time_picker_hms.setObjectName(u"time_picker_hms")
self.time_picker_hms.setEnabled(True)
self.time_picker_hms.setMinimumSize(QSize(240, 30))
self.time_picker_hms.setMaximumSize(QSize(240, 30))
self.time_picker_hms.setFocusPolicy(Qt.StrongFocus)
self.time_picker_hms.setStyleSheet(u"ScrollButton {\n"
" background-color: rgb(249, 249, 249);\n"
" border: none;\n"
" border-radius: 7px;\n"
"}\n"
"\n"
"CycleListWidget {\n"
" background-color: transparent;\n"
" border: none;\n"
" border-top-left-radius: 7px;\n"
" border-top-right-radius: 7px;\n"
" outline: none;\n"
" font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';\n"
"}\n"
"\n"
"CycleListWidget::item {\n"
" color: black;\n"
" background-color: transparent;\n"
" border: none;\n"
" border-radius: 5px;\n"
" margin: 0 4px;\n"
" padding-left: 11px;\n"
" padding-right: 11px;\n"
"}\n"
"\n"
"CycleListWidget::item:hover {\n"
" background-color: rgba(0, 0, 0, 9);\n"
"}\n"
"\n"
"CycleListWidget::item:selected {\n"
" background-color: rgba(0, 0, 0, 9);\n"
"}\n"
"\n"
"CycleListWidget::item:selected:active {\n"
" background-color: rgba(0, 0, 0, 6);\n"
"}\n"
"\n"
"PickerPanel > #view {\n"
" background-color: rgb(249, 249, 249);\n"
" border: 1px solid rgba(0, 0, 0, 0.14);\n"
" border-ra"
"dius: 7px;\n"
"}\n"
"\n"
"SeparatorWidget {\n"
" background-color: rgb(234, 234, 234);\n"
"}\n"
"\n"
"ItemMaskWidget {\n"
" font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';\n"
"}\n"
"\n"
"PickerBase {\n"
" font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';\n"
" background: rgba(255, 255, 255, 0.7);\n"
" border: 1px solid rgba(0, 0, 0, 0.073);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.183);\n"
" border-radius: 5px;\n"
" outline: none;\n"
"}\n"
"\n"
"PickerBase:hover {\n"
" background: rgba(249, 249, 249, 0.5);\n"
"}\n"
"\n"
"PickerBase:pressed {\n"
" background: rgba(249, 249, 249, 0.3);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.073);\n"
"}\n"
"\n"
"PickerBase:disabled {\n"
" color: rgba(0, 0, 0, 0.36);\n"
" background: rgba(255, 255, 255, 0.3);\n"
" border: 1px solid rgba(0, 0, 0, 0.06);\n"
" border-bottom: 1px solid rgba(0, 0, 0, 0.06);\n"
"}\n"
"\n"
"#pickerButton {\n"
" font: 14px 'Segoe UI', 'Microsoft YaHei', 'PingFang SC';\n"
" colo"
"r: rgba(0, 0, 0, 0.6);\n"
" background-color: transparent;\n"
" border: none;\n"
" outline: none;\n"
" padding-left: 10px;\n"
" padding-right: 10px;\n"
"}\n"
"\n"
"#pickerButton:disabled {\n"
" color: rgba(0, 0, 0, 0.36);\n"
"}\n"
"\n"
"#pickerButton[hasBorder=true]:enabled {\n"
" border-right: 1px solid rgba(0, 0, 0, 0.073);\n"
"}\n"
"\n"
"#pickerButton[hasBorder=true]:disabled {\n"
" border-right: 1px solid rgba(0, 0, 0, 0.06);\n"
"}\n"
"\n"
"#pickerButton[hasBorder=false] {\n"
" border-right: transparent;\n"
"}\n"
"\n"
"#pickerButton[enter=true]:enabled {\n"
" color: rgba(0, 0, 0, 0.896);\n"
"}\n"
"\n"
"#pickerButton[hasValue=true]:enabled{\n"
" color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"#pickerButton[pressed=true] {\n"
" color: rgba(0, 0, 0, 0.6);\n"
"}\n"
"\n"
"#pickerButton[align=\"center\"] {\n"
" text-align: center;\n"
"}\n"
"\n"
"#pickerButton[align=\"left\"] {\n"
" text-align: left;\n"
"}\n"
"\n"
"#pickerButton[align=\"right\"] {\n"
" text-align: right;\n"
"}\n"
"")
self.time_picker_hms.setLocale(QLocale(QLocale.Chinese, QLocale.China))
self.time_picker_hms.setAutoDefault(False)
self.time_picker_hms.setFlat(False)
self.time_picker_hms.setSecondVisible(True)
self.verticalLayout_2.addWidget(self.time_picker_hms)
self.gridLayout.addLayout(self.verticalLayout_2, 1, 0, 1, 1)
self.verticalLayout = QVBoxLayout()
self.verticalLayout.setSpacing(4)
self.verticalLayout.setObjectName(u"verticalLayout")
self.check_box_create_time = CheckBox(Form)
self.check_box_create_time.setObjectName(u"check_box_create_time")
self.check_box_create_time.setMinimumSize(QSize(29, 22))
self.check_box_create_time.setMaximumSize(QSize(90, 22))
self.check_box_create_time.setChecked(True)
self.verticalLayout.addWidget(self.check_box_create_time)
self.check_box_modify_time = CheckBox(Form)
self.check_box_modify_time.setObjectName(u"check_box_modify_time")
self.check_box_modify_time.setMinimumSize(QSize(29, 22))
self.check_box_modify_time.setMaximumSize(QSize(90, 22))
self.check_box_modify_time.setChecked(True)
self.verticalLayout.addWidget(self.check_box_modify_time)
self.check_box_access_time = CheckBox(Form)
self.check_box_access_time.setObjectName(u"check_box_access_time")
self.check_box_access_time.setMinimumSize(QSize(29, 22))
self.check_box_access_time.setMaximumSize(QSize(90, 22))
self.check_box_access_time.setChecked(True)
self.verticalLayout.addWidget(self.check_box_access_time)
self.check_box_auto_clear = CheckBox(Form)
self.check_box_auto_clear.setObjectName(u"check_box_auto_clear")
self.check_box_auto_clear.setMinimumSize(QSize(29, 22))
self.check_box_auto_clear.setMaximumSize(QSize(90, 22))
self.check_box_auto_clear.setChecked(True)
self.verticalLayout.addWidget(self.check_box_auto_clear)
self.gridLayout.addLayout(self.verticalLayout, 1, 1, 2, 1)
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.tool_button_open_dir = ToolButton(Form)
self.tool_button_open_dir.setObjectName(u"tool_button_open_dir")
sizePolicy2.setHeightForWidth(self.tool_button_open_dir.sizePolicy().hasHeightForWidth())
self.tool_button_open_dir.setSizePolicy(sizePolicy2)
self.tool_button_open_dir.setMinimumSize(QSize(30, 30))
self.tool_button_open_dir.setMaximumSize(QSize(30, 30))
self.horizontalLayout.addWidget(self.tool_button_open_dir)
self.push_button_change_time = PushButton(Form)
self.push_button_change_time.setObjectName(u"push_button_change_time")
sizePolicy.setHeightForWidth(self.push_button_change_time.sizePolicy().hasHeightForWidth())
self.push_button_change_time.setSizePolicy(sizePolicy)
self.push_button_change_time.setMinimumSize(QSize(205, 30))
self.push_button_change_time.setMaximumSize(QSize(205, 30))
self.horizontalLayout.addWidget(self.push_button_change_time)
self.gridLayout.addLayout(self.horizontalLayout, 2, 0, 1, 1)
self.horizontalLayout_3.addLayout(self.gridLayout)
self.gridLayout_2.addLayout(self.horizontalLayout_3, 1, 0, 1, 1)
self.gridLayout_3.addLayout(self.gridLayout_2, 0, 0, 1, 1)
self.retranslateUi(Form)
self.time_picker_hms.setDefault(False)
QMetaObject.connectSlotsByName(Form)
# setupUi
def retranslateUi(self, Form):
Form.setWindowTitle(QCoreApplication.translate("Form", u"Form", None))
self.StrongBodyLabel.setText(QCoreApplication.translate("Form", u"\u8bbe\u5b9a\u5168\u5c40\u65e5\u671f", None))
# if QT_CONFIG(tooltip)
self.time_picker_hms.setToolTip("")
# endif // QT_CONFIG(tooltip)
self.time_picker_hms.setText("")
self.check_box_create_time.setText(QCoreApplication.translate("Form", u"\u521b\u5efa\u65f6\u95f4", None))
self.check_box_modify_time.setText(QCoreApplication.translate("Form", u"\u4fee\u6539\u65f6\u95f4", None))
self.check_box_access_time.setText(QCoreApplication.translate("Form", u"\u8bbf\u95ee\u65f6\u95f4", None))
self.check_box_auto_clear.setText(QCoreApplication.translate("Form", u"\u81ea\u52a8\u6e05\u7a7a", None))
self.push_button_change_time.setText(QCoreApplication.translate("Form", u"\u4fee\u6539", None))
# retranslateUi
class HandleTimePicker(TimePicker):
timePicked = Signal(QTime)
def _onConfirmed(self, value: list):
h = self.decodeValue(0, value[0])
m = self.decodeValue(1, value[1])
s = 0 if len(value) == 2 else self.decodeValue(2, value[2])
time = QTime(h, m, s)
ot = self.time
if ot != time:
self.timeChanged.emit(time)
self.timePicked.emit(time)
def handle_set_time(self, time: QTime):
self.setTime(time)
def init_setting(self, showSeconds=False):
self.setTime(None) # 位考虑是否显示秒钟情况
self.clearColumns()
w = 80 if showSeconds else 120
self.addColumn(self.tr('hour'), range(0, 24),
w, formatter=DigitFormatter())
self.addColumn(self.tr('minute'), range(0, 60),
w, formatter=MiniuteFormatter())
self.addColumn(self.tr('second'), range(0, 60),
w, formatter=MiniuteFormatter())
def setTime(self, time: QTime or None):
if time is None:
self._time = QTime(-1, -1, -1, -1) # 引入传入的为None则置空
return
super().setTime(time)
class HandleCalendarView(CalendarView):
datePicked = Signal(QDate)
def _onDayItemClicked(self, date: QDate):
super()._onDayItemClicked(date)
self.datePicked.emit(date)
class HandleCalendarPicker(CalendarPicker): # 此子类需要手动设置时间,不再根据原方法时间改变再设置时间
datePicked = Signal(QDate)
def _showCalendarView(self):
view = HandleCalendarView(self.window())
view.dateChanged.connect(self._onDateChanged)
view.datePicked.connect(self._onDatePicked)
if self.date.isValid():
view.setDate(self.date)
x = int(self.width() / 2 - view.sizeHint().width() / 2)
y = self.height()
view.exec(self.mapToGlobal(QPoint(x, y)))
def _onDateChanged(self, date: QDate):
self._date = QDate(date)
self.dateChanged.emit(date)
def _onDatePicked(self, date: QDate):
self._date = QDate(date)
self.datePicked.emit(date)
def handle_update_time(self, date: QDate):
self.setText(date.toString(self.dateFormat))
self.setProperty('hasDate', True)
self.setStyle(QApplication.style())
self.update()
def init_setting(self):
self.setDate(QDate(0, 0, 0))
self.setText(self.tr('Pick a date'))
self.setProperty('hasDate', False)
self.setStyle(QApplication.style())
self.update()
class DropTextEdit(TextEdit): # 新建类,命名为 `NewQLineEdit`
signal_drop = Signal(list, list)
signal_paste = Signal(list, list)
def __init__(self, *args, **kwargs): # 继承父类构造函数
super().__init__(*args, **kwargs)
self.setAcceptDrops(True) # 设置接受拖放动作
self.setWordWrapMode(QTextOption.NoWrap) # 禁用自动换行
def dragEnterEvent(self, event):
if event.mimeData().hasUrls(): # 当文件拖入此区域时为True
event.accept() # 接受拖入文件
else:
event.ignore() # 忽略拖入或关闭
def dropEvent(self, event):
# 获取拖放事件中的URL列表,转换成本地文件路径格式
urls = [u.toLocalFile() for u in event.mimeData().urls()]
# 从URL中提取文件路径,过滤掉文件夹路径
new_content = [os.path.normpath(url) for url in urls if os.path.isfile(os.path.normpath(url))]
# 将文本框中的文件路径添加到路径列表中,过滤掉重复项
current_content = self.toPlainText()
all_content: list = new_content
if current_content:
all_content.extend(os.path.normpath(line.strip()) for line in current_content.split('\n') if
line.strip() and os.path.isfile(line.strip()))
# 发送信号,传递路径列表
self.signal_drop.emit(all_content, new_content)
def paste(self):
clipboard = QApplication.clipboard()
mime_data = clipboard.mimeData()
if mime_data.hasUrls():
all_content = []
file_urls = mime_data.urls()
format_file_paths = [os.path.normpath(url.toLocalFile()) for url in file_urls]
new_content = [i for i in format_file_paths if os.path.isfile(i)]
current_content = self.toPlainText()
all_content = new_content
if current_content:
all_content = new_content
all_content.extend(os.path.normpath(line.strip()) for line in current_content.split('\n') if
line.strip() and os.path.isfile(line.strip()))
self.signal_paste.emit(all_content, new_content)
else:
super().paste()
def keyPressEvent(self, event):
if event.matches(QKeySequence.Paste):
# 执行你的操作
self.paste()
else:
super().keyPressEvent(event)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/Gentlesprite/File_Date_Changer.git
git@gitee.com:Gentlesprite/File_Date_Changer.git
Gentlesprite
File_Date_Changer
File_Date_Changer
main

搜索帮助