我正在制作自己的國際象棋 GUI,并為此使用 python 國際象棋和鱈魚。將其凍結為可執行文件后,每次調用時chess.engine.SimpleEngine.popen_uci('location\\of\\stockfish'),它都會打開 stockfish 的 shell,如果我關閉 shell,stockfish 將停止工作。我該怎么做才能使 shell 僅在后臺運行并且對用戶不可見?
2 回答
慕尼黑的夜晚無繁華
TA貢獻1864條經驗 獲得超6個贊
擴展@BoarGules 答案:
engine = chess.engine.SimpleEngine.popen_uci(sf,startupinfo = subprocess.STARTUPINFO(dwFlags=subprocess.STARTF_USESHOWWINDOW))
德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
這是一個特定于平臺的問題,我猜測'location\\of\\stockfish'Windows 是您感興趣的平臺。
popen_uci接受 ** (額外關鍵字)參數,您可以使用它來將參數傳遞給subprocess.Popen(). 使用 passthrough 參數startupinfo提供subprocess.STARTUPINFO. 這反過來可以設置 win32 標志wShowWindow來做你想做的事。
添加回答
舉報
0/150
提交
取消
