Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 使用第二个按钮Tkinter启用按钮_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x 使用第二个按钮Tkinter启用按钮

Python 3.x 使用第二个按钮Tkinter启用按钮,python-3.x,tkinter,Python 3.x,Tkinter,我正在打开一个主窗口。在这里,我打开了一个框架。在此框架中有2个按钮。我想让按钮1启用以前禁用的按钮2 import tkinter as tk from tkinter import ttk, StringVar from tkinter.constants import DISABLED LARGE_FONT =('Verdana',12) class Auswertung(tk.Tk): def __init__(self,*args, **kwargs):

我正在打开一个主窗口。在这里,我打开了一个框架。在此框架中有2个按钮。我想让按钮1启用以前禁用的按钮2

import tkinter as tk
from tkinter import ttk, StringVar
from tkinter.constants import DISABLED

LARGE_FONT =('Verdana',12)

class Auswertung(tk.Tk):

    def __init__(self,*args, **kwargs):

        tk.Tk.__init__(self,*args,**kwargs)
        container = tk.Frame(self)
        container.grid(row=0, column=1, padx=10, pady=10)

        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}
        for F in (Datenwahl,):
            frame = F(container,self)

            self.frames[F] = frame

            frame.grid(row=0, column=0, sticky='nsew')

        self.show_frame(Datenwahl)

    def show_frame(self,cont):

        frame = self.frames [cont] 
        frame.tkraise() 

    def enable_button2(self):
        self.button2["State"]= "NORMAL"


class Datenwahl(tk.Frame):

    def __init__(self, parent, controller):
        tk.Frame.__init__(self,parent,)


        label=tk.Label(self, text='Start Page', font=LARGE_FONT)
        label.grid(row=0, column=1, padx=10, pady=10 ,sticky= 'ew')

        button1 = tk.Button(self, text= 'Visit Page 1', 
                            command= lambda : controller.enable_button2)
        button1.grid(row=1, column=1, padx=10, pady=10)

        button2 = tk.Button(self, text= 'Visit Page 2', state=DISABLED,
                            command= lambda : controller.show_frame(PageTwo))
        button2.grid(row=2, column=1, padx=10, pady=10)


app = Auswertung()
app.mainloop()
该代码应在按下按钮1时启用按钮2,但不会发生任何情况

我尝试过切换self.按钮或类似的东西,但我不能让它像预期的那样工作


网络上的大多数答案都没有课堂教学法,我也无法根据自己的框架调整我找到的解决方案

您的代码抛出
name错误:未定义名称“PageOne”
。。。在摆弄按钮之前,也许你应该先编写一些代码!也许你先看看这里:我把代码剪短了,不想把太多的代码到处乱扔,但忘了为以后的页面切换剪短代码。现在它不会抛出错误。