建立一個類似 console 的視窗
這個程式碼是透過 Copilot 產生出來的,一開始都無法成功,中間還有時候給出上次完全一樣的錯誤程式碼,沒有仔細看還會被騙過,搞了快一小時總會產生可用的程式碼。
這個功能只是在 main.py 產生一個類似 console 的視窗,按了按鈕後執行其它 py 檔的函數,然後可以把資料輸出到 console 視窗。自己寫一直出現錯誤,也找不到為什麼,只好借助AI來幫忙。
main.py
import tkinter as tk import config # 確保匯入 config 模組 def create_window(): root = tk.Tk() root.title("Console Example") config.set_console(tk.Text(root, wrap=tk.WORD, width=50, height=20, bg="light yellow", bd=3, relief="solid")) config.console.pack(pady=10) from external_script import external_function # 在 console 初始化完成後匯入 # 添加一個按鈕來呼叫 external_function test_button = tk.Button(root, text="呼叫外部函數", command=external_function) test_button.pack(pady=10) root.after(1000, lambda: config.output_to_console("這是一條測試訊息")) root.mainloop() if __name__ == "__main__": create_window()
external_script.py
from config import console,output_to_console # 匯入 config 模組 def external_function(): print("external_function 被呼叫") if console is not None: print("console 已定義") output_to_console("這是一條來自 external_script.py 的測試訊息") else: print("console 未定義或未初始化,無法輸出訊息")
config.py
import tkinter as tk # 初始化全域變數 console = None def set_console(widget): global console console = widget def output_to_console(text): global console if console is not None: console.insert(tk.END, text + "\n") console.see(tk.END) # 自動滾動到最底部 else: print("console 未初始化,無法輸出訊息")
留言
張貼留言