小编ARY*_*992的帖子

如何在 Python Tkinter 中启用和禁用框架而不是单个小部件

我有一个应用程序,我必须在单击单选按钮后启用当前窗口上的所有小部件。起初,当我开始我的申请,我有两个单选按钮frame1,我不得不关闭所有其他部件(如按钮,输入),它被放置在frame2,每当我点击radio_button1它所有的部件应该启用。在此代码中,当我单击 时radio_button1,它会激活所有小部件。有没有更好的方法可以开发,以便它禁用和启用整个框架而不是启用和禁用每个单独的小部件?以下是我当前的代码:

from tkinter import *
from tkinter import simpledialog

class Gui:
    def __init__(self, parent, **kw):
        self.parent = parent
        self.top = Toplevel(self.parent)
        self.frame1= Frame(self.top,width= 450,height =550)
        self.frame1.grid(row=0)
        self.frame2 = Frame(self.top, width=450, height=550)
        self.frame2.grid(row=1)
        self.radio1=Radiobutton(self.frame1,text='radio_button1',value=1,command=self.enable_window)
        self.radio2=Radiobutton(self.frame1,text='radio_button2',value=2)


        self.label1 = Label(self.frame2, text='Label1:', width=15, background='white', justify=CENTER,
                                  font='-weight bold')
        self.label2 = Label(self.frame2, text='Lable2:', width=15, background='white', justify=CENTER,
                               font='-weight bold')
        self.b=Button(self.frame2,text='save',state=DISABLED)
        self.c = Button(self.frame2, text='cancel',state=DISABLED)
        self.radio1.grid(row=0,column=0,sticky='W')
        self.radio2.grid(row=0,column=1,padx=50,sticky='W')
        self.label1.grid(padx=10, pady=5, row=0, column=0, sticky='E')
        self.label2.grid(padx=10, pady=5, row=1, …
Run Code Online (Sandbox Code Playgroud)

python tkinter

1
推荐指数
1
解决办法
6517
查看次数

标签 统计

python ×1

tkinter ×1