2013-05-10 47 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