2017-02-17 4 views
0

私はこれについて助けが必要です。私はただのTkinterを学び始め、私はこれを行うにはいくつかの困難を持っている:Tkinter!ポップアウトウィンドウをシミュレートする

画像:メインウィンドウ新しいウィンドウで

Image: Main window with a new window

を基本的に、私がしたいことはやることです作成することです。最初に飛び出すメインウィンドウ(ルートまたはマスター)のフレームです。このフレームにはラベルとボタンが含まれます。それ以外のラベルやボタンの上に表示されます。私が投稿した画像に似ています。私は新しいウィンドウを作成することでこれを達成しようとしましたが、新しいウィンドウにタイトルがあり、最小化、最大化、閉じるボタンが付いています。私は私が投稿した画像のような同様の結果を達成したい。前もって感謝します。

+0

は、ここで基本的な例です。しかし、私はそれを別のウィンドウに集中させる簡単な方法は見ていない。 – jasonharper

+0

これは、ユーザーが移動したりサイズを変更できるフローティングウィンドウか、ルートウィンドウ内に埋め込まれたウィンドウですか? –

答えて

1

フローティングウィンドウが不要な場合は、フレームを作成してplaceを使用して、ウィンドウの中央に配置することができます。あなたは、標準的な装飾を取り除くために、ウィンドウの上に `` `.overrideredirect(真)`を呼び出すことができ

import tkinter as tk 

class Popout(tk.Frame): 
    def __init__(self, parent): 
     tk.Frame.__init__(self, parent, background="black", padx=10, pady=10) 
     title = tk.Label(self, text="How to play", font=("Helvetica", 16), anchor="w", 
         background="black", foreground="white") 
     instructions = tk.Label(self, text="The goal of Klondike is to blah blah blah...", 
           background="black", foreground="white", anchor="w") 
     cb = tk.Checkbutton(self, text="Do not show again", highlightthickness=0, 
          background="black", foreground="white") 
     oneof = tk.Label(self, text="1 of 6", background="black", foreground="white") 
     close_btn = tk.Button(self, text="Close", background="black", foreground="white") 
     next_btn = tk.Button(self, text="Next", background="black", foreground="white") 

     self.grid_columnconfigure(0, weight=1) 
     self.grid_rowconfigure(1, weight=1) 

     title.grid(row=0, column=0, columnspan=2, sticky="ew") 
     oneof.grid(row=0, column=2, sticky="ne") 
     instructions.grid(row=1, column=0, columnspan=3, sticky="nsew", pady=10) 
     cb.grid(row=2, column=0, sticky="w") 
     close_btn.grid(row=3, column=1, sticky="ew", padx=10) 
     next_btn.grid(row=3, column=2, sticky="ew") 

root = tk.Tk() 
root.geometry("600x400") 

p = Popout(root) 
p.place(relx=.5, rely=.5, anchor="center") 

root.mainloop() 
関連する問題