不能像我想要的那样让Tabs在Python中工作

时间:2017-04-23 17:43:02

标签: python tkinter

我想创建一个由a导航的程序,让我们在程序的顶部边框处调用它,“工具栏”。我希望有5个用一个单词命名的图标。

如果你点击第一个图标,它会在图标下方打开“第1页”,如果我点击第三个图标,我希望它打开“页面3”,它还具有将客户数据添加到数据库等功能,全部显示客户或类似的东西。

现在问题是,如何进行此导航。

   from tkinter import *
from tkinter import ttk

def doNothing():
    print("ok ok I won't ...")

root = Tk()
root.title("Project X")
root.geometry("400x300+200+100")


# *** Creating Dropdown on Top ***

menu = Menu(root)
root.config(menu=menu)

subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project...", command=doNothing)
subMenu.add_command(label="Settings", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)

editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)

# *** Creating Tabs ***

nb = ttk.Notebook(root)
nb.pack()

page1=ttk.Frame(nb)
page1.pack(fill=BOTH, expand=TRUE)

nb.add(page1, text="Übersicht")
canvas = Canvas(page1, width=400, height=400)
nb.add(page1, text="Übersicht")
page2=ttk.Frame(nb)
nb.add(page2, text="Kunden")
page3=ttk.Frame(nb)
nb.add(page3, text="Katalog")
page4=ttk.Frame(nb)
nb.add(page4, text="Layouts")
page5=ttk.Frame(nb)
nb.add(page5, text="Hilfe")



# *** Status Bar ***

status = Label(root, text="Preparing to do nothing...", bd=1, relief=SUNKEN, anchor=W)
status.pack(side=BOTTOM, fill=X)

root.mainloop()

如果我这样做,我无法摆脱框架边界,我认为/希望有更优雅的方法来解决这类问题。

亲切的问候 添

1 个答案:

答案 0 :(得分:0)

可以使用样式删除笔记本的边框:

style = ttk.Style(root)
style.configure('noborder.TNotebook', borderwidth=0)
style.configure('noborder.TNotebook.Tab', borderwidth=0)

nb = ttk.Notebook(root, style='noborder.TNotebook')