PythonでGUIを作成する際、リアルタイムのprintデバッグが難しい場合があります。そのため、メインウィンドウの他にログウィンドウを立ち上げると便利です。
Tkinterを使用したログ出力
TkinterはPythonの標準ライブラリで、GUIを作成するために使用されます。以下に、Tkinterを使用してログウィンドウを作成する方法を示します。
import sys
import tkinter as tk
from tkinter import scrolledtext
class IOLogFrame(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
master.title("Log Window")
self.txt = scrolledtext.ScrolledText(master)
self.txt.pack(fill=tk.BOTH, expand=1)
def write(self, str, state='MESSAGE'):
self.txt.insert(tk.END, str+'\\n', state)
self.txt.see(tk.END)
def flush(self):
pass
class IOLogWindow(tk.Toplevel):
def __init__(self, master):
master.title("Main Window")
tk.Toplevel.__init__(self, master)
io = IOLogFrame(self)
io.write("Message")
if __name__ == '__main__':
win = tk.Tk()
io=IOLogWindow(win)
win.mainloop()
このコードでは、IOLogFrame
クラスがログ出力用のウィンドウを作成し、write
メソッドを使用してログメッセージを出力します。また、IOLogWindow
クラスはメインウィンドウを作成し、IOLogFrame
を子ウィンドウとして追加します。
まとめ
PythonでGUIを作成する際には、リアルタイムのログ出力が重要です。Tkinterを使用すれば、簡単にログ出力用のウィンドウを作成することができます。これにより、デバッグ作業を効率的に行うことができます。