【问题标题】:Tkinter - Button on new windowTkinter - 新窗口上的按钮
【发布时间】:2020-04-02 21:07:29
【问题描述】:

我想在新窗口中添加一个按钮,但对此我有疑问。我是在函数内部执行此操作,就像对标签执行操作一样,还是在我为按钮保留的下方空间中执行此操作?

按照下面的代码:

from tkinter import *

ftela = Tk()
ftela.state("zoomed")
ftela.title("OMNIA v0")
menu = Menu(ftela)
ftela.config(menu=menu)

##-----------------##
##   FUNÇÕES/DEF   ##
##-----------------##

def new_window():
    newWindow = Toplevel()
    newWindow.geometry("800x600+275+75")
    newWindow.resizable(height=False, width=False)

    newWindow = LabelFrame(newWindow, text="sex")
    newWindow.place(x=10, y=10, width=675, height=400)

##-----------------##
##     LABELS      ##
##-----------------##

mylabel = LabelFrame(ftela, text="teste")
mylabel.place(x=10, y=10, width=300, height=150)

l_teste = Label(ftela, text="teste")
l_teste.place(x=15, y=30)
e_teste = Entry(ftela)
e_teste.place(x=100, y=30)

##-----------------##
##     SUBMENU     ##
##-----------------##

subMenu1=Menu(menu, tearoff=0)
menu.add_cascade(label="Cadastro", menu=subMenu1)
subMenu1.add_command(label="Empresas", command=new_window)
subMenu1.add_command(label="Usuários")
subMenu1.add_separator()
subMenu1.add_command(label="Bancos/Caixas")
subMenu1.add_command(label="Contas")

##-----------------##
##     BOTOES      ##    <<< here  **
##-----------------##

bt = Button()
bt.place(x=100, y=100, width=100, height=100)


ftela.mainloop()

【问题讨论】:

    标签: python button tkinter


    【解决方案1】:

    是的,只需在创建新窗口的同一函数中添加Button 并将newWindow 指定为其父级即可。 (创建任何小部件时,都会创建父子关系。例如,如果将文本标签放在框架内,则框架是标签的“父”。)

    这意味着这样做:

    ##-----------------##
    ##   FUNÇÕES/DEF   ##
    ##-----------------##
    
    def new_window():
        newWindow = Toplevel()
        newWindow.geometry("800x600+275+75")
        newWindow.resizable(height=False, width=False)
    
        labelFrame = LabelFrame(newWindow, text="sex")
        labelFrame.place(x=10, y=10, width=675, height=400)
    
        ##-----------------##
        ##     BOTOES      ##
        ##-----------------##
        btn = Button(newWindow, text="My Button")  # HERE
        btn.place(x=100, y=100, width=100, height=100)
    

    【讨论】:

      猜你喜欢
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 2013-07-23
      • 2023-03-30
      相关资源
      最近更新 更多