Python3.7.3のtkinterを使っています。
ウィンドウやウィジェットについて、OS標準の「最小化、最大化、閉じる」ボタンを非表示にしたうえで最大化したいのですが、Windowsでは成功したコードがmacやraspbianでは意図した通りに動きません。
windowオブジェクトをrootとして話を進めますと、windowsで成功したものは以下のコードです。
python
1import sys 2import tkinter as tk 3class Application(tk.Frame): 4 def __init__(self, master=None): 5 super().__init__(master=master) 6 self.master = master 7 self.pack() 8 self.create_widgets() 9 10 def create_widgets(self): 11 self.textLabel = tk.Label(text="あああ") 12 self.exitSystemButton = tk.Button(text="Exit", command=sys.exit) 13 self.textLabel.pack(side="top", expand=1) 14 self.exitSystemButton.pack() 15 16root = tk.Tk() 17root.title('なんかタイトル') 18 19root.state('zoomed') # 最大化 20root.overrideredirect(True) # OS標準の3ボタンを消す 21#macの場合、↑に続けて root.overrideredirect(False)を実行する 22 23app = Application(master=root) 24app.mainloop()
このコードをmacとraspbianで実行したところ、次のようになりました。
mac : エラーは吐かない。最低限の大きさのウィンドウが現れる。
raspbian : エラーを吐く。具体的には、root.state()の引数には'normal'か'iconic'または'withdrawn'しか取れないと叱られる。
mac、raspianでwindows同様の動作を実現したいです。知恵をお貸しください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/02 03:46