2013-05-10 85 views
1
referwork = ttk.Notebook(root, style =".TNotebook") 
f1 = ttk.Frame(referwork) 
f2 = ttk.Frame(referwork) 
referwork.add(f1, text="Search", padding = 1) 
referwork.add(f2, text="Add/Delete", padding = 1) 

#referwork.configure (height = 500, width = 800) 
referwork.grid(row=0, column=0, sticky=(N,W,S,E)) 

我已經使用上述創建了雙標籤筆記本。首先執行搜索。我想要做的是有一個消息框,警告出現messagebox.askyesno當「是」被選中的焦點移動到筆記本tkinter messagebox鏈接到筆記本頁面

messagebox.askyesno(0.0,'"{0}"{1} \n {2}\n'.format(search_analyte.get(),' is not in the database.','Add,if appropriate')) 
     if True: 

的第二頁是隻要我有。我無法弄清楚如何使用這個對話和條件來「打開」第二頁。非常感謝您的幫助

回答

1

使用Notebook.select(tab)方法,其中tab是筆記本子部件之一。

from tkinter import * 
from tkinter.ttk import * 
from tkinter.messagebox import askyesno 

def open_first(): 
    referwork.select(f1) 
def open_second(): 
    if askyesno('Title', 'Press "Yes" to open second page') == YES: 
     referwork.select(f2) 

root = Tk() 
referwork = Notebook(root, style =".TNotebook") 
f1 = Frame(referwork) 
f2 = Frame(referwork) 
Button(f1, text='Go =>', command=open_second).pack(padx=100, pady=100) 
Button(f2, text='<= Go', command=open_first).pack(padx=100, pady=100) 
referwork.add(f1, text="Search", padding = 1) 
referwork.add(f2, text="Add/Delete", padding = 1) 
referwork.grid(row=0, column=0, sticky=(N,W,S,E)) 
root.mainloop() 
+0

謝謝。如果爲True,則使用:open_second() – user1478335 2013-05-10 12:41:04