def main(): # 初始化部分 App = QtWidgets.QApplication(sys.argv) SystemTranslationsPath = QtCore.QLibraryInfo.location( QtCore.QLibraryInfo.TranslationsPath) # 翻译载入部分 Translator = QtCore.QTranslator() TranslatorSystem = QtCore.QTranslator() TranslatorSystemEn = QtCore.QTranslator() if not Translator.load("MDEditor_zh_CN",directory="Translations") or \ not TranslatorSystem.load("qt_zh_CN", directory=SystemTranslationsPath) or \ not TranslatorSystemEn.load("qt_en", directory=SystemTranslationsPath): QtWidgets.QMessageBox.warning( None, "警告", "读取翻译文件失败, 请检查安装目录下的\"Translations\"目录中是否存在以下三个文件: " "VideoPlayer_zh_CN.qm, qt_zh_CN.qm, qt_en.qm。界面可能只能以纯英文方式显示。") # 窗口创建 MainWindow = MyMainWindow( App, Translators=[Translator, TranslatorSystem, TranslatorSystemEn]) Ui = Gui.MyUi_MainWindow() Ui.setupUi(MainWindow) MainWindow.show() # 解析其他命令行参数 Parse = argparse.ArgumentParser( description="MarkDown Editor: 一个Markdown编辑器, 可以用来编写" "和预览Markdown文档, 主要通过Qt实现。", epilog="关于其他命令行选项, 请参照Qt的官方文档 " "https://doc.qt.io/qt-5/qapplication.html#QApplication", allow_abbrev=False) Parse.add_argument("File", nargs='?', default=argparse.SUPPRESS, help="要打开的Markdown文件") Parse.add_argument("-H", "--home", default="Resources/default.md", help="设置默认打开的Markdown文件", dest="Home") Parse.add_argument("-l", "--language", default="zh_CN", choices=["zh_CN", "en_US"], help="设置应用程序界面使用的语言", dest="Language") Args = Parse.parse_args() # 处理得到的命令行参数 if Args.Language == "zh_CN": MainWindow.action_Chinese() elif Args.Language == "en_US": MainWindow.action_English() if Ui.Home != Args.Home: Ui.Home = Args.Home Ui.openFile(Args.Home, "file") if "File" in Args and Ui.Home != Args.File: Ui.openFile(Args.File, "file") Ui.BackHistory = [Ui.BackHistory[-1]] # 执行和关闭部分 Result = App.exec_() sys.exit(Result)