Example #1
0
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)