Closed Marcus-P-114514 closed 1 year ago
「存档」功能会把当前的用户数据保存至程序工作目录以外的地方。在macOS版中我们强烈推荐您在更新前进行存档,因为更新会覆盖掉原有的用户数据,若您有存档则可轻松恢复您的桌宠数据。
初次保存存档时会闪退,重新打开并再次存档即可 (编辑于2023-02-27 01:37 P.M.:新commit已经解决此bug)
macOS下缩放异常 (编辑于2023-02-28 08:06 P.M.:此bug已修复)
如果/DyberPet/DyberPetBackup/Resources.py不存在,则需要生成该文件,在根目录下执行:
/DyberPet/DyberPetBackup/Resources.py
pyrcc5 -o "./DyberPet/DyberPetBackup/Resources.py" "./DyberPet/DyberPetBackup/Resources.qrc"
ui文件需要使用pyuic5编译,在根目录执行即可:
pyuic5 -o "./DyberPet/DyberPetBackup/BackupManager.py" "./DyberPet/DyberPetBackup/BackupManager.ui"
生成.py文件后,需要对其进行手动调整,翻到文件末行,找到:
.py
import Resources_rc
修改为:
import DyberPet.DyberPetBackup.Resources
def show_backup_manager(self): self.backupManager = BackupManager() # BackupManager.setAttribute(BackupManager, QtCore.Qt.AA_EnableHighDpiScaling) if sys.platform == 'win32': self.backupManager.setWindowFlags( Qt.FramelessWindowHint | Qt.SubWindow | Qt.WindowStaysOnTopHint | Qt.NoDropShadowWindowHint) else: self.backupManager.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.NoDropShadowWindowHint) self.backupManager.setAttribute(QtCore.Qt.WA_TranslucentBackground) cardShadowSE = QtWidgets.QGraphicsDropShadowEffect(self.backupManager) cardShadowSE.setColor(QColor(189, 167, 165)) cardShadowSE.setOffset(0, 0) cardShadowSE.setBlurRadius(20) self.backupManager.setGraphicsEffect(cardShadowSE) # 支持HDPI self.backupManager.setGeometry(0, 0, int(800 * size_factor), int(600 * size_factor)) self.backupManager.dialogContainer.setGeometry(int(12 * size_factor), int(12 * size_factor), int(800 * size_factor - 24 * size_factor), int(600 * size_factor - 24 * size_factor)) self.backupManager.menuBarSE.setMaximumHeight(int(24 * size_factor)) self.backupManager.menuBarSE.setStyleSheet('#menuBarSE{ background: rgb(241,234,235); border: 1px solid rgb(241,234,235); border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-left-radius: 0px; border-bottom-right-radius: 0px; height: ' + str(800 * size_factor) + 'px;}') self.backupManager.closeApp.setMaximumHeight(int(16 * size_factor)) self.backupManager.closeApp.setMaximumWidth(int(16 * size_factor)) self.backupManager.closeApp.setStyleSheet('QPushButton{ height: ' + str(16 * size_factor) + 'px; width: ' + str(16 * size_factor) + 'px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: ' + str(5 * size_factor) +'px; color: #534343; font-size: ' + str(14 * size_factor) + 'px; border-image: url(:/icons/res/close.svg); } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } ') self.backupManager.titleBar.setStyleSheet('#titleBar{ background: rgb(241,234,235); border: 1px solid rgb(241,234,235); height: ' + str(64 * size_factor) + 'px;}') self.backupManager.appTitle.setStyleSheet('#appTitle{ font-size: ' + str(12 * 1) + 'pt; color: #1f1f1f; font-weight: bold; background: transparent; font: ' + str(12 * 1) + 'pt "黑体"; }') self.backupManager.verticalLayout_4.setContentsMargins(int(24 * size_factor), int(24 * size_factor), int(24 * size_factor), int(24 * size_factor)) self.backupManager.savesDesc.setStyleSheet('QLabel{ font-size: ' + str(10.5 * 1) + 'pt; color: #211a1a; font: ' + str(10.5 * 1) + 'pt "黑体"; }') self.backupManager.setSaveModeRead.setStyleSheet('QPushButton{ height: ' + str(24 * size_factor) + 'px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: 5px; color: #534343; font-size: ' + str(10.5 * 1) + 'pt; font: ' + str(10.5 * 1) + 'pt "黑体"; } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } QPushButton:Checked{ font-weight: bold; background: #ffdad9; color: #2d1516; }') self.backupManager.setSaveModeWrite.setStyleSheet('QPushButton{ height: ' + str(24 * size_factor) + 'px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: 5px; color: #534343; font-size: ' + str(10.5 * 1) + 'pt; font: ' + str(10.5 * 1) + 'pt "黑体"; } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } QPushButton:Checked{ font-weight: bold; background: #ffdad9; color: #2d1516; }') self.backupManager.saveSlot1.setStyleSheet('QPushButton{ min-height: ' + str(32 * size_factor) + 'px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: 5px; color: #534343; font-size: ' + str(10.5 * 1) + 'pt; font: ' + str(10.5 * 1) + 'pt "黑体"; } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } QPushButton:Checked{ font-weight: bold; background: #ffdad9; color: #2d1516; }') self.backupManager.saveSlot2.setStyleSheet('QPushButton{ min-height: ' + str(32 * size_factor) + 'px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: 5px; color: #534343; font-size: ' + str(10.5 * 1) + 'pt; font: ' + str(10.5 * 1) + 'pt "黑体"; } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } QPushButton:Checked{ font-weight: bold; background: #ffdad9; color: #2d1516; }') self.backupManager.saveSlot3.setStyleSheet('QPushButton{ min-height: ' + str(32 * size_factor) + 'px; margin-top: -3px; background: rgb(241,234,235); border: 0px solid rgb(241,234,235); border-radius: 5px; color: #534343; font-size: ' + str(10.5 * 1) + 'pt; font: ' + str(10.5 * 1) + 'pt "黑体"; } QPushButton:Hover{ font-weight: bold; background: rgb(231,226,226); color: #211a1a; } QPushButton:Pressed{ font-weight: bold; background: #ffdad9; color: #2d1516; } QPushButton:Checked{ font-weight: bold; background: #ffdad9; color: #2d1516; }') self.backupManager.navBar.setVisible(0) # 底部导航栏启用时请注释掉下面这个 self.backupManager.appFrame.setStyleSheet('#appFrame{background: #fff; border: 0px solid #fff; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 0px; border-top-right-radius: 0px;}') self.backupManager.appContainer.setStyleSheet('#appContainer{background: #fff; border: 0px solid #fff; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-left-radius: 0px; border-top-right-radius: 0px;}') # 好了 注释到这里就可以了 别把下面也注释了 self.backupManager.show()
DyberPet存档系统
简介
「存档」功能会把当前的用户数据保存至程序工作目录以外的地方。在macOS版中我们强烈推荐您在更新前进行存档,因为更新会覆盖掉原有的用户数据,若您有存档则可轻松恢复您的桌宠数据。
已知问题&解决方案
初次保存存档时会闪退,重新打开并再次存档即可(编辑于2023-02-27 01:37 P.M.:新commit已经解决此bug)macOS下缩放异常(编辑于2023-02-28 08:06 P.M.:此bug已修复)未完成的功能
编译说明
如果
/DyberPet/DyberPetBackup/Resources.py
不存在,则需要生成该文件,在根目录下执行:ui文件需要使用pyuic5编译,在根目录执行即可:
生成
.py
文件后,需要对其进行手动调整,翻到文件末行,找到:修改为:
在v0.2.1中开启窗口的HDPI支持