为什么给标签页主窗口并将其添加到tk.notebook()结果中,因为将标签页作为笔记本计算机作为主窗口

时间:2018-07-25 15:03:47

标签: python python-3.x tkinter

在编写此代码时,我目前对tkinter不满意。因此请忽略任何愚蠢的行为。

import tkinter as tk
from tkinter import ttk
from tkinter import Menu


win=tk.Tk()
win.title('Tabs GUI')
tab_control=ttk.Notebook(win)

tab1=ttk.Frame(tab_control)
tab_control.add(tab1,text='Tab 1')
tab_control.grid()

tab2=ttk.Frame(win)                                       #1
tab_control.add(tab2,text='Tab 2')


menuBar = Menu(tab1)                             #2
win.config(menu=menuBar)

# Add menu items
fileMenu = Menu(menuBar, tearoff=0)
fileMenu.add_command(label="New")
fileMenu.add_separator()
fileMenu.add_command(label="Exit")
menuBar.add_cascade(label="File", menu=fileMenu)

# Add another Menu to the Menu Bar and an item
helpMenu = Menu(menuBar, tearoff=0)
helpMenu.add_command(label="About")
menuBar.add_cascade(label="Help", menu=helpMenu)


ttk.Label(tab2, text="Choose a number:").grid(column=0, row=0)
numberChosen = ttk.Combobox(tab2, width=8)
numberChosen['values'] = (1, 2, 4, 42, 100)
numberChosen.grid(column=0, row=1)
numberChosen.current(0)


chVarDis = tk.IntVar()
check1 = tk.Checkbutton(tab2, text="Disabled", variable=chVarDis, state='disabled')
check1.select()
check1.grid(column=0, row=2, sticky=tk.W)                 

chVarUn = tk.IntVar()
check2 = tk.Checkbutton(tab2, text="UnChecked", variable=chVarUn)
check2.deselect()
check2.grid(column=1, row=2, sticky=tk.W )


win.mainloop()

现在的第一个问题是在#1上我给了'tab2'主窗口,即'win',然后将其添加到笔记本中,但它的行为就像我给它notebook()作为主窗口一样,因为'tab1'和' tab2'的功能相同。第二个问题是为什么当我打开“ tab2”时“ combobox”会自动聚焦。对于Menu()#2也是如此,我给它指定了父项tab1,但它显示在顶层窗口win

0 个答案:

没有答案