def runEnGame(self): # 启动美服游戏动作 # 获取配置信息 config = gw2Config() (en_game_path, en_backfile_xml, en_backfile_dat) = config.getEnConfig() (ch_game_path, ch_backfile_xml, ch_backfile_dat) = config.getChConfig() if not en_game_path or not os.path.isfile(en_game_path): # 未设置国服游戏路径 self.showMsgBox("ERROR", '请先设置美服游戏路径!') else: runflag = True if config.getCurrent() == 'ch' and (not ch_backfile_xml or not ch_backfile_dat): # 备份提醒 reply = self.showChoseMsgBox( "备份提醒", "您还未对当前版本进行备份,并正在尝试运行不同版本的客户端,确认运行将会重置当前配置文件") if reply == QtWidgets.QMessageBox.No: runflag = False if runflag == True: # 启动游戏 status, error = config.runEnGame() if status == False: self.showMsgBox("ERROR", "<p>启动失败</p><p>" + error + "</p>") subprocess.Popen([en_game_path]) sys.exit()
def resetEnFile(self): # 恢复美服配置文件动作 config = gw2Config() status, info, error = config.resetEnFile() if status == True: # 恢复成功 _translate = QtCore.QCoreApplication.translate self.labelCurrentVersion.setText(_translate("Gw2Ui", "美服")) self.showMsgBox("SUCCESS", info) else: self.showMsgBox("ERROR", "<p>" + info + "</p><p>" + error + "</p>")
def backEnFile(self): # 备份美服配置文件动作 config = gw2Config() status, error = config.backupEnFile() if status == True: # 备份成功 _translate = QtCore.QCoreApplication.translate self.labelCurrentVersion.setText(_translate("Gw2Ui", "美服")) self.showMsgBox("SUCCESS", "美服配置文件备份成功") else: self.showMsgBox("ERROR", "<p>备份失败</p><p>" + error + "</p>")
def selectVersionEn(self): # 选择当前版本为美服 current = 'en' config = gw2Config() config.setCurrent(current) self.VersionWindow.hide() _translate = QtCore.QCoreApplication.translate self.MainUi.labelCurrentVersion.setText(_translate("Gw2Ui", "美服")) self.MainWindow.show() # 首次使用自动备份 self.MainUi.firstStart("en")
def firstStart(self, lang): # 首次使用自动备份 config = gw2Config() if lang == 'ch': status, error = config.backupChFile() else: status, error = config.backupEnFile() if status == True: self.showMsgBox( "SUCCESS", "<p>已为您自动备份当前版本配置文件,请配置游戏路径</p><p>建议您在配置完路径后启动另一个版本的游戏,登录游戏设置完成后重新打开本软件并进行备份</p>" ) else: self.showMsgBox("ERROR", "<p>备份失败</p><p>" + error + "</p>")
def getDefaultIcon(lang): # 动态获取LOGO config = gw2Config() if lang == 'ch': (ch_game_path, ch_backfile_xml, ch_backfile_dat) = config.getChConfig() if not ch_game_path or not os.path.isfile(ch_game_path): return ":/logo/image/logo_ch_disable.png" else: return ":/logo/image/logo_ch_default.png" else: (en_game_path, en_backfile_xml, en_backfile_dat) = config.getEnConfig() if not en_game_path or not os.path.isfile(en_game_path): return ":/logo/image/logo_en_disable.png" else: return ":/logo/image/logo_en_default.png"
def setEnGamePath(self): # 设置美服路径动作 # 打开文件选择框 fileName, _ = QtWidgets.QFileDialog.getOpenFileName( self.MainWindow, "请选择美服Gw2-64.exe", "", "EXE Files (*.exe)") if fileName: # 判断文件 fileName = os.path.normpath(fileName) if not fileName.endswith('Gw2-64.exe'): self.showMsgBox("ERROR", "请选择Gw2-64.exe文件") return # 保存配置 config = gw2Config() config.setEnGamePath(fileName) icon_en = QtGui.QIcon() icon_en.addPixmap(QtGui.QPixmap(getDefaultIcon("en")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.buttonRunEn.setIcon(icon_en) self.showMsgBox("SUCCESS", "美服游戏路径配置成功")
def retranslateUi(self, Gw2Ui): # init ui text _translate = QtCore.QCoreApplication.translate Gw2Ui.setWindowTitle(_translate("Gw2Ui", "激战2双版本启动器 - by bingkong")) self.labelCurrentVersionTag.setText(_translate("Gw2Ui", "当前版本:")) self.buttonSetEnGamePath.setText(_translate("Gw2Ui", "设置路径")) self.buttonBackEnFile.setText(_translate("Gw2Ui", "备份美服")) self.buttonResetChFile.setText(_translate("Gw2Ui", "恢复国服")) self.buttonExit.setText(_translate("Gw2Ui", "退出")) self.buttonBackChFile.setText(_translate("Gw2Ui", "备份国服")) self.buttonConfig.setText(_translate("Gw2Ui", "当前配置")) self.buttonResetEnFile.setText(_translate("Gw2Ui", "恢复美服")) self.buttonSetChGamePath.setText(_translate("Gw2Ui", "设置路径")) # 显示当前版本 config = gw2Config() current = config.getCurrent() if current == 'ch': current = "国服" elif current == 'en': current = '美服' else: current = 'NULL' self.labelCurrentVersion.setText(_translate("Gw2Ui", current))
def retranslateConfig(self, Gw2Ui): # init ui text _translate = QtCore.QCoreApplication.translate config = gw2Config() Gw2Ui.setWindowTitle(_translate("Gw2Ui", "激战2双版本启动器 - by bingkong")) self.labelGlobal.setText(_translate("Gw2Ui", "全局配置")) self.labelGlobalConfigPath.setText(_translate("Gw2Ui", "配置文件目录")) self.textGlobalConfigPath.setText( _translate("Gw2Ui", config.getConfigpath())) self.textGlobalConfigPath.setCursorPosition(0) self.labelGlobalCurrent.setText(_translate("Gw2Ui", "当前配置版本")) self.textGlobalCurrent.setText(_translate("Gw2Ui", config.getCurrent())) self.textGlobalCurrent.setCursorPosition(0) self.labelEn.setText(_translate("Gw2Ui", "美服")) (en_game_path, en_backfile_xml, en_backfile_dat) = config.getEnConfig() self.labelEnGamePath.setText(_translate("Gw2Ui", "游戏路径")) self.textEnGamePath.setText(_translate("Gw2Ui", en_game_path)) self.textEnGamePath.setCursorPosition(0) self.labelEnXMLBackFile.setText(_translate("Gw2Ui", "XML备份文件")) self.textEnXMLBackFile.setText(_translate("Gw2Ui", en_backfile_xml)) self.textEnXMLBackFile.setCursorPosition(0) self.labelEnDATBackFile.setText(_translate("Gw2Ui", "DAT备份文件")) self.textEnDATBackFile.setText(_translate("Gw2Ui", en_backfile_dat)) self.textEnDATBackFile.setCursorPosition(0) self.labenCh.setText(_translate("Gw2Ui", "国服")) (ch_game_path, ch_backfile_xml, ch_backfile_dat) = config.getChConfig() self.labelChGamePath.setText(_translate("Gw2Ui", "游戏路径")) self.textChGamePath.setText(_translate("Gw2Ui", ch_game_path)) self.textChGamePath.setCursorPosition(0) self.labenChXMLBackFile.setText(_translate("Gw2Ui", "XML备份文件")) self.textChXMLBackFile.setText(_translate("Gw2Ui", ch_backfile_xml)) self.textChXMLBackFile.setCursorPosition(0) self.labelChDATBackFile.setText(_translate("Gw2Ui", "DAT备份文件")) self.textChDATBackFile.setText(_translate("Gw2Ui", ch_backfile_dat)) self.textChDATBackFile.setCursorPosition(0) self.buttonConfigReturn.setText(_translate("Gw2Ui", "返回"))
def setupUi(self, Gw2Ui): # init ui self.MainWindow = Gw2Ui config = gw2Config() Gw2Ui.setObjectName("Gw2Ui") Gw2Ui.resize(370, 324) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/logo/image/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) Gw2Ui.setWindowIcon(icon) Gw2Ui.setLayoutDirection(QtCore.Qt.LeftToRight) self.mainWidget = QtWidgets.QWidget(Gw2Ui) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth( self.mainWidget.sizePolicy().hasHeightForWidth()) self.mainWidget.setSizePolicy(sizePolicy) self.mainWidget.setObjectName("mainWidget") self.gridLayout_ui = QtWidgets.QGridLayout(self.mainWidget) self.gridLayout_ui.setObjectName("gridLayout_ui") self.frameMain = QtWidgets.QFrame(self.mainWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frameMain.sizePolicy().hasHeightForWidth()) self.frameMain.setSizePolicy(sizePolicy) self.frameMain.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor)) self.frameMain.setLayoutDirection(QtCore.Qt.LeftToRight) self.frameMain.setAutoFillBackground(True) self.frameMain.setStyleSheet("") self.frameMain.setObjectName("frameMain") self.gridLayout_main = QtWidgets.QGridLayout(self.frameMain) self.gridLayout_main.setObjectName("gridLayout_main") self.buttonResetChFile = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonResetChFile.sizePolicy().hasHeightForWidth()) self.buttonResetChFile.setSizePolicy(sizePolicy) self.buttonResetChFile.setObjectName("buttonResetChFile") self.gridLayout_main.addWidget(self.buttonResetChFile, 4, 0, 1, 3) self.buttonConfig = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonConfig.sizePolicy().hasHeightForWidth()) self.buttonConfig.setSizePolicy(sizePolicy) self.buttonConfig.setObjectName("buttonConfig") self.gridLayout_main.addWidget(self.buttonConfig, 5, 0, 1, 2) self.buttonExit = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonExit.sizePolicy().hasHeightForWidth()) self.buttonExit.setSizePolicy(sizePolicy) self.buttonExit.setMinimumSize(QtCore.QSize(70, 0)) self.buttonExit.setObjectName("buttonExit") self.gridLayout_main.addWidget(self.buttonExit, 5, 2, 1, 1) self.buttonResetEnFile = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonResetEnFile.sizePolicy().hasHeightForWidth()) self.buttonResetEnFile.setSizePolicy(sizePolicy) self.buttonResetEnFile.setObjectName("buttonResetEnFile") self.gridLayout_main.addWidget(self.buttonResetEnFile, 4, 3, 1, 1) self.buttonBackEnFile = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonBackEnFile.sizePolicy().hasHeightForWidth()) self.buttonBackEnFile.setSizePolicy(sizePolicy) self.buttonBackEnFile.setObjectName("buttonBackEnFile") self.gridLayout_main.addWidget(self.buttonBackEnFile, 3, 3, 1, 1) self.buttonRunCh = HoverButton(self.frameMain, "ch") self.buttonRunCh.setMinimumSize(QtCore.QSize(128, 150)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonRunCh.sizePolicy().hasHeightForWidth()) self.buttonRunCh.setSizePolicy(sizePolicy) self.buttonRunCh.setAutoFillBackground(False) self.buttonRunCh.setStyleSheet( "QPushButton {border:none;}\n" "QPushButton:focus, QPushButton:pressed {background-color:none}") self.buttonRunCh.setText("") icon_ch = QtGui.QIcon() icon_ch.addPixmap(QtGui.QPixmap(getDefaultIcon("ch")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.buttonRunCh.setIcon(icon_ch) self.buttonRunCh.setIconSize(QtCore.QSize(128, 150)) self.buttonRunCh.setAutoDefault(False) self.buttonRunCh.setObjectName("buttonRunCh") self.gridLayout_main.addWidget(self.buttonRunCh, 1, 0, 1, 3) self.buttonRunEn = HoverButton(self.frameMain, "en") self.buttonRunEn.setMinimumSize(QtCore.QSize(150, 150)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonRunEn.sizePolicy().hasHeightForWidth()) self.buttonRunEn.setSizePolicy(sizePolicy) self.buttonRunEn.setAutoFillBackground(False) self.buttonRunEn.setStyleSheet( "QPushButton {border:none}\n" "QPushButton:focus, QPushButton:pressed {background-color:none}") self.buttonRunEn.setText("") icon_en = QtGui.QIcon() icon_en.addPixmap(QtGui.QPixmap(getDefaultIcon("en")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.buttonRunEn.setIcon(icon_en) self.buttonRunEn.setIconSize(QtCore.QSize(150, 150)) self.buttonRunEn.setObjectName("buttonRunEn") self.gridLayout_main.addWidget(self.buttonRunEn, 1, 3, 1, 1) self.buttonSetChGamePath = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonSetChGamePath.sizePolicy().hasHeightForWidth()) self.buttonSetChGamePath.setSizePolicy(sizePolicy) self.buttonSetChGamePath.setObjectName("buttonSetChGamePath") self.gridLayout_main.addWidget(self.buttonSetChGamePath, 2, 0, 1, 3) self.buttonSetEnGamePath = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonSetEnGamePath.sizePolicy().hasHeightForWidth()) self.buttonSetEnGamePath.setSizePolicy(sizePolicy) self.buttonSetEnGamePath.setObjectName("buttonSetEnGamePath") self.gridLayout_main.addWidget(self.buttonSetEnGamePath, 2, 3, 1, 1) self.labelCurrentVersionTag = QtWidgets.QLabel(self.frameMain) self.labelCurrentVersionTag.setObjectName("labelCurrentVersionTag") self.gridLayout_main.addWidget(self.labelCurrentVersionTag, 0, 0, 1, 1) self.labelCurrentVersion = QtWidgets.QLabel(self.frameMain) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.labelCurrentVersion.setFont(font) self.labelCurrentVersion.setObjectName("labelCurrentVersion") self.gridLayout_main.addWidget(self.labelCurrentVersion, 0, 1, 1, 2) self.buttonBackChFile = QtWidgets.QPushButton(self.frameMain) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.buttonBackChFile.sizePolicy().hasHeightForWidth()) self.buttonBackChFile.setSizePolicy(sizePolicy) self.buttonBackChFile.setObjectName("buttonBackChFile") self.gridLayout_main.addWidget(self.buttonBackChFile, 3, 0, 1, 3) self.gridLayout_ui.addWidget(self.frameMain, 0, 0, 1, 1) self.frameConfig = QtWidgets.QFrame(self.mainWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frameConfig.sizePolicy().hasHeightForWidth()) self.frameConfig.setSizePolicy(sizePolicy) self.frameConfig.setLayoutDirection(QtCore.Qt.LeftToRight) self.frameConfig.setAutoFillBackground(True) self.frameConfig.setStyleSheet("") self.frameConfig.setFrameShape(QtWidgets.QFrame.NoFrame) self.frameConfig.setFrameShadow(QtWidgets.QFrame.Plain) self.frameConfig.setObjectName("frameConfig") self.gridLayout_config = QtWidgets.QGridLayout(self.frameConfig) self.gridLayout_config.setObjectName("gridLayout_config") self.labelChDATBackFile = QtWidgets.QLabel(self.frameConfig) self.labelChDATBackFile.setObjectName("labelChDATBackFile") self.gridLayout_config.addWidget(self.labelChDATBackFile, 10, 0, 1, 1) self.textChXMLBackFile = QtWidgets.QLineEdit(self.frameConfig) self.textChXMLBackFile.setReadOnly(True) self.textChXMLBackFile.setObjectName("textChXMLBackFile") self.gridLayout_config.addWidget(self.textChXMLBackFile, 9, 1, 1, 1) self.textChDATBackFile = QtWidgets.QLineEdit(self.frameConfig) self.textChDATBackFile.setReadOnly(True) self.textChDATBackFile.setObjectName("textChDATBackFile") self.gridLayout_config.addWidget(self.textChDATBackFile, 10, 1, 1, 1) self.labenCh = QtWidgets.QLabel(self.frameConfig) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.labenCh.setFont(font) self.labenCh.setObjectName("labenCh") self.gridLayout_config.addWidget(self.labenCh, 7, 0, 1, 1) self.labelChGamePath = QtWidgets.QLabel(self.frameConfig) self.labelChGamePath.setObjectName("labelChGamePath") self.gridLayout_config.addWidget(self.labelChGamePath, 8, 0, 1, 1) self.labenChXMLBackFile = QtWidgets.QLabel(self.frameConfig) self.labenChXMLBackFile.setObjectName("labenChXMLBackFile") self.gridLayout_config.addWidget(self.labenChXMLBackFile, 9, 0, 1, 1) self.labelGlobalCurrent = QtWidgets.QLabel(self.frameConfig) self.labelGlobalCurrent.setObjectName("labelGlobalCurrent") self.gridLayout_config.addWidget(self.labelGlobalCurrent, 2, 0, 1, 1) self.labelGlobal = QtWidgets.QLabel(self.frameConfig) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.labelGlobal.setFont(font) self.labelGlobal.setObjectName("labelGlobal") self.gridLayout_config.addWidget(self.labelGlobal, 0, 0, 1, 1) self.textGlobalConfigPath = QtWidgets.QLineEdit(self.frameConfig) self.textGlobalConfigPath.setReadOnly(True) self.textGlobalConfigPath.setObjectName("textGlobalConfigPath") self.gridLayout_config.addWidget(self.textGlobalConfigPath, 1, 1, 1, 1) self.labelGlobalConfigPath = QtWidgets.QLabel(self.frameConfig) self.labelGlobalConfigPath.setObjectName("labelGlobalConfigPath") self.gridLayout_config.addWidget(self.labelGlobalConfigPath, 1, 0, 1, 1) self.labelEn = QtWidgets.QLabel(self.frameConfig) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.labelEn.setFont(font) self.labelEn.setObjectName("labelEn") self.gridLayout_config.addWidget(self.labelEn, 3, 0, 1, 1) self.labelEnGamePath = QtWidgets.QLabel(self.frameConfig) self.labelEnGamePath.setObjectName("labelEnGamePath") self.gridLayout_config.addWidget(self.labelEnGamePath, 4, 0, 1, 1) self.labelEnDATBackFile = QtWidgets.QLabel(self.frameConfig) self.labelEnDATBackFile.setObjectName("labelEnDATBackFile") self.gridLayout_config.addWidget(self.labelEnDATBackFile, 6, 0, 1, 1) self.textEnDATBackFile = QtWidgets.QLineEdit(self.frameConfig) self.textEnDATBackFile.setReadOnly(True) self.textEnDATBackFile.setObjectName("textEnDATBackFile") self.gridLayout_config.addWidget(self.textEnDATBackFile, 6, 1, 1, 1) self.textChGamePath = QtWidgets.QLineEdit(self.frameConfig) self.textChGamePath.setReadOnly(True) self.textChGamePath.setObjectName("textChGamePath") self.gridLayout_config.addWidget(self.textChGamePath, 8, 1, 1, 1) self.textEnGamePath = QtWidgets.QLineEdit(self.frameConfig) self.textEnGamePath.setReadOnly(True) self.textEnGamePath.setObjectName("textEnGamePath") self.gridLayout_config.addWidget(self.textEnGamePath, 4, 1, 1, 1) self.textGlobalCurrent = QtWidgets.QLineEdit(self.frameConfig) self.textGlobalCurrent.setReadOnly(True) self.textGlobalCurrent.setObjectName("textGlobalCurrent") self.gridLayout_config.addWidget(self.textGlobalCurrent, 2, 1, 1, 1) self.labelEnXMLBackFile = QtWidgets.QLabel(self.frameConfig) self.labelEnXMLBackFile.setObjectName("labelEnXMLBackFile") self.gridLayout_config.addWidget(self.labelEnXMLBackFile, 5, 0, 1, 1) self.textEnXMLBackFile = QtWidgets.QLineEdit(self.frameConfig) self.textEnXMLBackFile.setReadOnly(True) self.textEnXMLBackFile.setObjectName("textEnXMLBackFile") self.gridLayout_config.addWidget(self.textEnXMLBackFile, 5, 1, 1, 1) self.buttonConfigReturn = QtWidgets.QPushButton(self.frameConfig) self.buttonConfigReturn.setObjectName("buttonConfigReturn") self.gridLayout_config.addWidget(self.buttonConfigReturn, 11, 0, 1, 1) Gw2Ui.setCentralWidget(self.mainWidget) self.gridLayout_ui.addWidget(self.frameConfig, 0, 0, 1, 1) self.setAction() self.retranslateUi(Gw2Ui) QtCore.QMetaObject.connectSlotsByName(Gw2Ui) self.frameMain.show() self.frameConfig.hide() self.mainWidget.setFocus()
if not os.path.isfile(ini): # 配置信息文件Gw2Config.ini丢失 error_dialog = QErrorMessage() app.setStyleSheet(qdarkstyle.load_stylesheet_pyqt5()) msgBox = QMessageBox() msgBox.setWindowTitle("ERROR") msgBox.setTextFormat(QtCore.Qt.RichText) msgBox.setIcon(QMessageBox.Information) msgBox.setText("<p>Gw2Config.ini文件缺失</p><p>将为您重新生成配置文件</p>") msgBox.setStandardButtons(QMessageBox.Yes) buttonY = msgBox.button(QMessageBox.Yes) buttonY.setText(' OK ') msgBox.exec_() ini_init(ini) # 读取配置信息 config = gw2Config() configpath = config.getConfigpath() current = config.getCurrent() if not configpath: # 未设置游戏配置路径,自动设置 appdata = os.getenv('APPDATA') configpath = os.path.join(appdata, 'Guild Wars 2') config.setConfigpath(configpath) # create the application and the main window window_main = QMainWindow() ui_main = Ui_Gw2Ui() ui_main.setupUi(window_main) window_version = QMainWindow() ui_version = Ui_Gw2Version() ui_version.setupUi(window_version, window_main, ui_main)