如何在运行一个 exe 文件时打开/关闭控制台/终端窗口

问题描述 投票:0回答:0

我有 mainwindow.py 并编译成一个 exe 文件。主窗口.exe

当我双击运行mainwindow.exe时,弹出控制台,但始终没有出现主窗口。并且控制台不断循环打印消息:

调试模式是:True ######### launch cosole start

我还可以看到在临时文件夹中创建了许多“_MEIXXX”文件。

这是我的代码的一部分。

## I am mainly using pySide6 to build mainwindow. 
## After that these code call it to launch the application. 
## If I remove debug module/block, everything is working correctly!

if __name__ == '__main__':
    app = QApplication(sys.argv)
    my_rsc =  Resource_path()

    cssPath = my_rsc.resourcePath('style01.css')#.replace('\\', '/')
    with open(cssPath, 'r') as f:
        style = f.read()
        #print(style)
    app.setStyleSheet(style)
    print('setStylesheet is done')
    
    iconPath = my_rsc.resourcePath('image_icons\headShot_small.png')
    app.setWindowIcon(QIcon(iconPath))

重要的代码在这里;

    debug_mode=True
    print(f'debug mode is : {debug_mode}   ######### launch cosole start')
    if debug_mode: ## after this, code is not working properly ##
        import subprocess
        subprocess.call([sys.executable, '-m','console'])
        print('console is open for debug') 
    else:
        print('no debug mode')**

    ## this lastly call mainwindow class and launch application
    wd = MainWindow()
    wd.show()
    sys.exit(app.exec())

我试图在 class mainwindow(): 中插入上述调试块,而不是 if name == 'main': block 。然而,这是同样的问题。

我知道我可以在使用 pyinstaller 时使用/不使用控制台进行修改。但理想情况下,我想在 UI 窗口中添加一个调试开/关复选框。所以如果用户可以选择或不选择调试模式,那就太好了。

python debugging console subprocess pyinstaller
© www.soinside.com 2019 - 2024. All rights reserved.