2017-06-12 7 views
0

私はPythonプログラミングの初心者です。質問があります。以下に示すコードでは、各ページ(別のページを表す)に、すべてのページのタイトルではなく異なるタイトルを一度に与えることは可能ですか?私はどこにでも見て、答えを見つけることができませんでした。ありがとうございました!ここですべてのページで同じタイトルを使わずに、異なる方法で作成されたtkinterの異なるページにどのようにタイトルを付けるかを理解するのに役立つ必要がありますか?

import tkinter as tk 
# from tkinter import * 
# Activate the line above when a message box is needed 


class Start(tk.Tk): 
    def __init__(self, *args, **kwargs): 
     tk.Tk.__init__(self, *args, **kwargs) 
     container = tk.Frame(self) 
     container.pack(side="top", fill="both", expand=True) 
     self.title("Application") 
     container.grid_rowconfigure(0, weight=1) 
     container.grid_columnconfigure(0, weight=1) 

     self.frames = {} 

     for F in (StartPage, PageOne): 
      # To add a new page, define the class below and then add the frame to the For Loop above 

      frame = F(container, self) 

      self.frames[F] = frame 

      frame.grid(row=0, column=0, sticky="nsew") 

     self.show_frame(StartPage) 

    def show_frame(self, controller): 
     frame = self.frames[controller] 
     frame.tkraise() 

    def get_page(self, page_class): 
     return self.frames[page_class] 
# This is the end of the baseline and the code for each page is below: 


class StartPage(tk.Frame): 

    def __init__(self, parent, controller): 
     tk.Frame.__init__(self, parent) 
     self.controller = controller 
     Name = StringVar() 
     Password = StringVar() 

     def show_credentials(event): 
      instructions = tk.Label(self, text="Credentials: ") 
      instructions.grid(row=5, column=3, sticky="E") 
      names = Name.get() 
      passwords = Password.get() 
      names = tk.Label(self, text=names, bg="red", fg="white") 
      passwords = tk.Label(self, text=passwords, bg="Red", fg="white") 
      names.grid(row=6, column=3, sticky="E") 
      passwords.grid(row=7, column=3, sticky="E") 
     credentials = tk.Button(self, text="Creds") 
     credentials.bind("<Button-1>", show_credentials) 
     credentials.grid(row=4, column=3, sticky="E") 

     def login(event): 
      controller.show_frame(PageOne) 
     log = tk.Button(self, text="Log In") 
     log.bind("<Button-1>", login) 
     log.grid(row=4, column=4, sticky="E") 
     # A class can be created to compare data entered to a list to identify the user and log him/her in 
     welcome = tk.Label(self, text="Welcome!") 
     welcome.grid(row=0, column=2, sticky="E") 
     username = tk.Label(self, text="Username: ") 
     username.grid(row=2, column=2, sticky='E') 
     password_label = tk.Label(self, text="Password: ") 
     password_label.grid(row=3, column=2, sticky="E") 
     username_entry = tk.Entry(self, textvariable=Name) 
     username_entry.grid(row=2, column=3, sticky="E") 
     password_entry = tk.Entry(self, textvariable=Password, show="*") 
     password_entry.grid(row=3, column=3, sticky="E") 
     cancel = tk.Button(self, text="Exit", command=quit) 
     cancel.grid(row=4, column=2, sticky="E") 


class PageOne(tk.Frame): 
    def __init__(self, parent, controller): 
     tk.Frame.__init__(self, parent) 
     self.controller = controller 
     label = tk.Label(self, text="This page is currently under Development") 
     label.grid(row=0, column=0, sticky="E") 
     switchpage1 = tk.Button(self, text="Back", command=lambda: controller.show_frame(StartPage)) 
     switchpage1.grid(row=1, column=0, sticky="E") 
root = Start() 
root.mainloop() 
+0

あなたは、「タイトル」とはどういう意味ですか?ウィンドウ自体のタイトルバーを参照していますか?ユーザーがページを変更するたびに変更しますか? –

+0

はい。これはトップのタイトルなので、ユーザーがページを開いたりログインしたときに、「ログイン」から「ページ1」のように別のタイトルを見ることができます。ページ。 –

答えて

0

は、別のウィンドウタイトルへの道である:

import tkinter as tk 

root = tk.Tk() 
window1 = tk.Toplevel(root) 
window1.wm_title("window 1") 

root.mainloop() 
+0

私は間違いなくそれを試してみましょう!ありがとう –

関連する問題