如何在pycharm python上将3到6按钮相乘和求和

我正在学习使用python和tkinter制作一个应用程序。 然后我做了一个电阻计算器。问题是如何计算几个按钮的相乘和相加以获得值并将总结果写入电阻值输入框中?

更糟糕的是,我不知道如何在此处编写代码。所以我给出了链接。

非常感谢

enter link description here

import tkinter.messagebox
from tkinter import*
from tkinter import ttk

class Resistor:

    def __init__(self,root):
        self.root = root
        self.root.title("Roghib Calculator Resistor")
        self.root.geometry("1000x560+0+0")
        self.root.configure(background="aqua")

        var1 = IntVar()
        var2 = IntVar()
        var3 = IntVar()
        var4 = IntVar()
        var5 = IntVar()
        var6 = IntVar()
        var7 = IntVar()
        var8 = IntVar()
        var9 = IntVar()

        var1.set("")
        var2.set("")
        var3.set("")
        var4.set("")
        var5.set("")
        var6.set("")
        var7.set("")
        var8.set("")
        var9.set("")

        #value 1stband
        def Band1b():
            var1.set(10)
        def Band1c():
            var1.set(20)
        def Band1d():
            var1.set(30)
        def Band1e():
            var1.set(40)
        def Band1f():
            var1.set(50)
        def Band1g():
            var1.set(60)
        def Band1h():
            var1.set(70)
        def Band1i():
            var1.set(80)
        def Band1j():
            var1.set(90)




        #value 2ndband
        def Band2a():
            var2.set(0)
        def Band2b():
            var2.set(1)
        def Band2c():
            var2.set(2)
        def Band2d():
            var2.set(3)
        def Band2e():
            var2.set(4)
        def Band2f():
            var2.set(5)
        def Band2g():
            var2.set(6)
        def Band2h():
            var2.set(7)
        def Band2i():
            var2.set(8)
        def Band2j():
            var2.set(9)

        def hitung():
            var1 = var1.get()
            var2 = var2.get()

        def quit():
            quit = tkinter.messagebox.askyesno('Calculator Resistor','yakin arep metu?')
            if quit > 0:
                root.destroy()
                return

        def reset():
            reset = tkinter.messagebox.askyesno('Calculator Resistor','yakin arep reset ?')
            if reset > 0:
                var1.set("")
                return

        #frame = Frame(root)
        #frame.grid()

        mainFrame = Frame(self.root,bg='olive')
        mainFrame.grid()

        TitleFrame = Frame(mainFrame,bg='yellow',bd=10,width=1320,padx=10,relief=RIDGE)
        TitleFrame.grid(row=0,column=0,columnspan=2)
        self.lblTitle = Label(TitleFrame,font=('times new roman',50,'bold'),text="Calculator Resistor",padx=200)
        self.lblTitle.grid(row=0,column=0)
        ResistorFrame = Frame(mainFrame,width=1350,padx=20,bg='dimgrey',relief=RIDGE)
        ResistorFrame.grid(row=1,sticky=W)

        IndicatorFrame = Frame(mainFrame,relief=RIDGE)
        IndicatorFrame.grid(row=1,column=1,sticky=W)

        #===============================================label Band Title===================================================

        self.lblTitle = Label(ResistorFrame,bg="orangered",width=8,14,text="1st Band")
        self.lblTitle.grid(row=1,column=0)
        self.lblTitle = Label(ResistorFrame,text="2nd Band")
        self.lblTitle.grid(row=1,column=1)
        self.lblTitle = Label(ResistorFrame,text="3rd Band")
        self.lblTitle.grid(row=1,column=2)
        self.lblTitle = Label(ResistorFrame,text="4th Band")
        self.lblTitle.grid(row=1,column=3)
        self.lblTitle = Label(ResistorFrame,text="5th Band")
        self.lblTitle.grid(row=1,column=4)
        self.lblTitle = Label(ResistorFrame,text="6th Band")
        self.lblTitle.grid(row=1,column=5)

        #option total Band
        self.dis = Radiobutton(ResistorFrame,text="3 Band",font='bold',value=0,command=self.enable_band3)
        self.dis.grid(column=1,row=0)
        self.en = Radiobutton(ResistorFrame,text="6 Band",value=1,command=self.disable_band3)
        self.en.grid(column=4,row=0)
        self.dis4 = Radiobutton(ResistorFrame,text="4 Band",value=2,command=self.enable_band4)
        self.dis4.grid(column=2,row=0)
        self.en4 = Radiobutton(ResistorFrame,text="5 Band",value=3,command=self.disable_band4)
        self.en4.grid(column=3,row=0)


        #1st Band
        self.Band1a = Button(ResistorFrame,text='0',fg='white',bg='black')
        self.Band1a.grid(row=2,column=0)
        self.Band1b = Button(ResistorFrame,command=Band1b,text='1',fg='black',bg='peru')
        self.Band1b.grid(row=3,column=0)
        self.Band1c = Button(ResistorFrame,command=Band1c,text='2',bg='red')
        self.Band1c.grid(row=4,column=0)
        self.Band1d = Button(ResistorFrame,command=Band1d,text='3',bg='orange')
        self.Band1d.grid(row=5,column=0)
        self.Band1e = Button(ResistorFrame,command=Band1e,text='4',bg='yellow')
        self.Band1e.grid(row=6,column=0)
        self.Band1f = Button(ResistorFrame,command=Band1f,text='5',bg='green')
        self.Band1f.grid(row=7,column=0)
        self.Band1g = Button(ResistorFrame,command=Band1g,text='6',bg='blue')
        self.Band1g.grid(row=8,column=0)
        self.Band1h = Button(ResistorFrame,command=Band1h,text='7',bg='purple')
        self.Band1h.grid(row=9,column=0)
        self.Band1i = Button(ResistorFrame,command=Band1i,text='8',bg='dimgrey')
        self.Band1i.grid(row=10,column=0)
        self.Band1j = Button(ResistorFrame,command=Band1j,text='9',bg='white')
        self.Band1j.grid(row=11,column=0)

        #2nd Band
        self.Band2a = Button(ResistorFrame,command=Band2a,bg='black')
        self.Band2a.grid(row=2,column=1)
        self.Band2b = Button(ResistorFrame,command=Band2b,bg='peru')
        self.Band2b.grid(row=3,column=1)
        self.Band2c = Button(ResistorFrame,bg='red')
        self.Band2c.grid(row=4,column=1)
        self.Band2d = Button(ResistorFrame,bg='orange')
        self.Band2d.grid(row=5,column=1)
        self.Band2e = Button(ResistorFrame,bg='yellow')
        self.Band2e.grid(row=6,column=1)
        self.Band2f = Button(ResistorFrame,bg='green')
        self.Band2f.grid(row=7,column=1)
        self.Band2g = Button(ResistorFrame,bg='blue')
        self.Band2g.grid(row=8,column=1)
        self.Band2h = Button(ResistorFrame,bg='purple')
        self.Band2h.grid(row=9,column=1)
        self.Band2i = Button(ResistorFrame,bg='dimgrey')
        self.Band2i.grid(row=10,column=1)
        self.Band2j = Button(ResistorFrame,bg='white')
        self.Band2j.grid(row=11,column=1)

        #3rd Band
        self.Band3a = Button(ResistorFrame,bg='black')
        self.Band3a.grid(row=2,column=2)
        self.Band3b = Button(ResistorFrame,bg='peru')
        self.Band3b.grid(row=3,column=2)
        self.Band3c = Button(ResistorFrame,bg='red')
        self.Band3c.grid(row=4,column=2)
        self.Band3d = Button(ResistorFrame,bg='orange')
        self.Band3d.grid(row=5,column=2)
        self.Band3e = Button(ResistorFrame,bg='yellow')
        self.Band3e.grid(row=6,column=2)
        self.Band3f = Button(ResistorFrame,bg='green')
        self.Band3f.grid(row=7,column=2)
        self.Band3g = Button(ResistorFrame,bg='blue')
        self.Band3g.grid(row=8,column=2)
        self.Band3h = Button(ResistorFrame,bg='purple')
        self.Band3h.grid(row=9,column=2)
        self.Band3i = Button(ResistorFrame,bg='dimgrey')
        self.Band3i.grid(row=10,column=2)
        self.Band3j = Button(ResistorFrame,bg='white')
        self.Band3j.grid(row=11,column=2)

        #4th Band
        self.Band4a = Button(ResistorFrame,text='x1',bg='black')
        self.Band4a.grid(row=2,column=3)
        self.Band4b = Button(ResistorFrame,text='x10',bg='peru')
        self.Band4b.grid(row=3,column=3)
        self.Band4c = Button(ResistorFrame,text='x100',bg='red')
        self.Band4c.grid(row=4,column=3)
        self.Band4d = Button(ResistorFrame,text='x1k',bg='orange')
        self.Band4d.grid(row=5,column=3)
        self.Band4e = Button(ResistorFrame,text='x10k',bg='yellow')
        self.Band4e.grid(row=6,column=3)
        self.Band4f = Button(ResistorFrame,text='x100k',bg='green')
        self.Band4f.grid(row=7,column=3)
        self.Band4g = Button(ResistorFrame,text='x1M',bg='blue')
        self.Band4g.grid(row=8,column=3)
        self.Band4h = Button(ResistorFrame,text='x10M',bg='purple')
        self.Band4h.grid(row=9,column=3)
        self.Band4a = Button(ResistorFrame,text='x0.01',bg='darkgray')
        self.Band4a.grid(row=10,text='x0.1',bg='darkgoldenrod')
        self.Band4b.grid(row=11,column=3)

        #5thband
        self.Band5a = Button(ResistorFrame,text='1%',bg='peru')
        self.Band5a.grid(row=3,column=4)
        self.Band5b = Button(ResistorFrame,text='2%',bg='red')
        self.Band5b.grid(row=4,column=4)
        self.Band5c = Button(ResistorFrame,text='0.5%',bg='green')
        self.Band5c.grid(row=7,column=4)
        self.Band5d = Button(ResistorFrame,text='0.25%',bg='blue')
        self.Band5d.grid(row=8,column=4)
        self.Band5e = Button(ResistorFrame,text='0.1%',bg='purple')
        self.Band5e.grid(row=9,column=4)
        self.Band5g = Button(ResistorFrame,text='10%',bg='darkgray')
        self.Band5g.grid(row=10,column=4)
        self.Band5f = Button(ResistorFrame,text='5%',bg='darkgoldenrod')
        self.Band5f.grid(row=11,column=4)
        #6th Band
        self.Band6a = Button(ResistorFrame,text='250ppm/K',bg='black')
        self.Band6a.grid(row=2,column=5)
        self.Band6b = Button(ResistorFrame,text='100ppm/K',bg='peru')
        self.Band6b.grid(row=3,column=5)
        self.Band6c = Button(ResistorFrame,text='50ppm/K',bg='red')
        self.Band6c.grid(row=4,column=5)
        self.Band6d = Button(ResistorFrame,text='15ppm/K',bg='orange')
        self.Band6d.grid(row=5,column=5)
        self.Band6e = Button(ResistorFrame,text='25ppm/K',bg='yellow')
        self.Band6e.grid(row=6,column=5)

        #Indicator Frame
        self.lblFirst = Label(IndicatorFrame,15,text="Resistor Value")
        self.lblFirst.grid(row=0,sticky=W,padx=10)
        self.txtFirst = Entry(IndicatorFrame,width=16,textvariable=var1)
        self.txtFirst.grid(row=0,pady=3,columnspan=3)
        self.lbltole = Label(IndicatorFrame,text="Tolerance")
        self.lbltole.grid(row=1,padx=10)
        self.txtSecond = Entry(IndicatorFrame,textvariable=var8)
        self.txtSecond.grid(row=1,pady=10,columnspan=3)
        self.temp = Label(IndicatorFrame,text="Temp. Coefficient")
        self.temp.grid(row=2,padx=10)
        self.txtthird = Entry(IndicatorFrame,textvariable=var8)
        self.txtthird.grid(row=2,columnspan=5)

        btnQuit = Button(IndicatorFrame,height=2,text="QUIT",command=quit)
        btnQuit.grid(column=1,row=3,pady=10)
        btnReset = Button(IndicatorFrame,text="RESET",command=reset,width=8)
        btnReset.grid(column=2,pady=10)
        btnHitung = Button(IndicatorFrame,command=hitung,text="HITUNG",width=8)
        btnHitung.grid(column=3,pady=10)

    def enable_band3(self):
        if self.en == 0:
            self.Band3a.configure(state='normal')
            self.Band3b.configure(state='normal')
            self.Band3c.configure(state='normal')
            self.Band3d.configure(state='normal')
            self.Band3e.configure(state='normal')
            self.Band3f.configure(state='normal')
            self.Band3g.configure(state='normal')
            self.Band3h.configure(state='normal')
            self.Band3i.configure(state='normal')
            self.Band3j.configure(state='normal')
            self.Band5a.configure(state='normal')
            self.Band5b.configure(state='normal')
            self.Band5c.configure(state='normal')
            self.Band5d.configure(state='normal')
            self.Band5e.configure(state='normal')
            self.Band5f.configure(state='normal')
            self.Band5g.configure(state='normal')
            self.Band6a.configure(state='normal')
            self.Band6b.configure(state='normal')
            self.Band6c.configure(state='normal')
            self.Band6d.configure(state='normal')
        else:
            self.Band1a.configure(state='disabled')
            self.Band3a.configure(state='disabled')
            self.Band3b.configure(state='disabled')
            self.Band3c.configure(state='disabled')
            self.Band3d.configure(state='disabled')
            self.Band3e.configure(state='disabled')
            self.Band3f.configure(state='disabled')
            self.Band3g.configure(state='disabled')
            self.Band3h.configure(state='disabled')
            self.Band3i.configure(state='disabled')
            self.Band3j.configure(state='disabled')
            self.Band5a.configure(state='disabled')
            self.Band5b.configure(state='disabled')
            self.Band5c.configure(state='disabled')
            self.Band5d.configure(state='disabled')
            self.Band5e.configure(state='disabled')
            self.Band5f.configure(state='disabled')
            self.Band5g.configure(state='disabled')
            self.Band6a.configure(state='disabled')
            self.Band6b.configure(state='disabled')
            self.Band6c.configure(state='disabled')
            self.Band6d.configure(state='disabled')
            self.Band6e.configure(state='disabled')

    def disable_band3(self):
        if self.dis != 0:
            self.Band1a.configure(state='normal')
            self.Band3a.configure(state='normal')
            self.Band3b.configure(state='normal')
            self.Band3c.configure(state='normal')
            self.Band3d.configure(state='normal')
            self.Band3e.configure(state='normal')
            self.Band3f.configure(state='normal')
            self.Band3g.configure(state='normal')
            self.Band3h.configure(state='normal')
            self.Band3i.configure(state='normal')
            self.Band3j.configure(state='normal')
            self.Band5a.configure(state='normal')
            self.Band5b.configure(state='normal')
            self.Band5c.configure(state='normal')
            self.Band5d.configure(state='normal')
            self.Band5e.configure(state='normal')
            self.Band5f.configure(state='normal')
            self.Band5g.configure(state='normal')
            self.Band6a.configure(state='normal')
            self.Band6b.configure(state='normal')
            self.Band6c.configure(state='normal')
            self.Band6d.configure(state='normal')
            self.Band6e.configure(state='normal')

    def enable_band4(self):
        if self.en4 == 1:
            self.Band3a.configure(state='disabled')
            self.Band3b.configure(state='disabled')
            self.Band3c.configure(state='disabled')
            self.Band3d.configure(state='disabled')
            self.Band3e.configure(state='disabled')
            self.Band3f.configure(state='disabled')
            self.Band3g.configure(state='disabled')
            self.Band3h.configure(state='disabled')
            self.Band3i.configure(state='disabled')
            self.Band3j.configure(state='disabled')
            self.Band6a.configure(state='disabled')
            self.Band6b.configure(state='disabled')
            self.Band6c.configure(state='disabled')
            self.Band6d.configure(state='disabled')
        else:
            self.Band3a.configure(state='disabled')
            self.Band3b.configure(state='disabled')
            self.Band3c.configure(state='disabled')
            self.Band3d.configure(state='disabled')
            self.Band3e.configure(state='disabled')
            self.Band3f.configure(state='disabled')
            self.Band3g.configure(state='disabled')
            self.Band3h.configure(state='disabled')
            self.Band3i.configure(state='disabled')
            self.Band3j.configure(state='disabled')
            self.Band5a.configure(state='normal')
            self.Band5b.configure(state='normal')
            self.Band5c.configure(state='normal')
            self.Band5d.configure(state='normal')
            self.Band5e.configure(state='normal')
            self.Band5f.configure(state='normal')
            self.Band5g.configure(state='normal')
            self.Band6a.configure(state='disabled')
            self.Band6b.configure(state='disabled')
            self.Band6c.configure(state='disabled')
            self.Band6d.configure(state='disabled')

    def disable_band4(self):
        if self.dis4 != 1:
            self.Band1a.configure(state='normal')
            self.Band3a.configure(state='normal')
            self.Band3b.configure(state='normal')
            self.Band3c.configure(state='normal')
            self.Band3d.configure(state='normal')
            self.Band3e.configure(state='normal')
            self.Band3f.configure(state='normal')
            self.Band3g.configure(state='normal')
            self.Band3h.configure(state='normal')
            self.Band3i.configure(state='normal')
            self.Band3j.configure(state='normal')
            self.Band5a.configure(state='normal')
            self.Band5b.configure(state='normal')
            self.Band5c.configure(state='normal')
            self.Band5d.configure(state='normal')
            self.Band5e.configure(state='normal')
            self.Band5f.configure(state='normal')
            self.Band5g.configure(state='normal')
            self.Band6a.configure(state='normal')
            self.Band6b.configure(state='normal')
            self.Band6c.configure(state='normal')
            self.Band6d.configure(state='normal')
            self.Band6a.configure(state='disabled')
            self.Band6b.configure(state='disabled')
            self.Band6c.configure(state='disabled')
            self.Band6d.configure(state='disabled')
            self.Band6e.configure(state='disabled')

if __name__=='__main__':
    root = Tk()
    application = Resistor(root)
    root.mainloop()
zhoujiemy 回答:如何在pycharm python上将3到6按钮相乘和求和

SetBand之后的函数varX.set()中,您可以执行计算值并在Entry中对其进行更新的函数。


其他更改(减少了代码行):

我将颜色和按钮文本保留在列表中,因此可以使用for循环(带有zip()enumerate())来生成按钮。我将按钮保持在列表中,以便以后可以使用for循环来更改按钮的状态。

command=中,我使用lamba,因此我可以为同一函数分配不同的参数


完整的工作代码,但是我不确定是否所有的工作都按预期进行。

import tkinter.messagebox
import tkinter as tk
from tkinter import ttk

class Resistor:

    def set_band1(self,value):
        self.var_band1.set(value)
        self.update_labels()

    def set_band2(self,value):
        self.var_band2.set(value)
        self.update_labels()

    def set_band3(self,value):
        self.var_band3.set(value)
        self.update_labels()

    def set_band4(self,value):
        self.var_band4.set(value)
        self.update_labels()

    def set_band5(self,value):
        self.var_band5.set(value)
        self.update_labels()

    def set_band6(self,value):
        self.var_band6.set(value)
        self.update_labels()

    def update_labels(self):
        v1 = self.var_band1.get()*100
        v2 = self.var_band2.get()*10
        v3 = self.var_band3.get()*1
        value = (v1+v2+v3) * self.var_band4.get()
        self.var_resistance.set(value)

        value = self.var_band5.get()
        self.var_tolerance.set(value)

        value = self.var_band6.get()
        self.var_temp.set(value)

    def hitung(self):
        var1 = self.var_band1.get()
        var2 = self.var_band2.get()

    def quit(self):
        result = tkinter.messagebox.askyesno('Calculator Resistor','yakin arep metu?')
        if result:
            root.destroy()

    def reset(self):
        result = tkinter.messagebox.askyesno('Calculator Resistor','yakin arep reset ?')
        if result:
            self.var_band1.set(0)


    def __init__(self,root):
        self.root = root
        self.root.title("Roghib Calculator Resistor")
        #self.root.geometry("1000x560+0+0")
        self.root.configure(background="aqua")

        self.var_band1 = tk.IntVar(value=0)
        self.var_band2 = tk.IntVar(value=0)
        self.var_band3 = tk.IntVar(value=0)
        self.var_band4 = tk.IntVar(value=1)

        self.var_band5 = tk.StringVar(value='')
        self.var_band6 = tk.StringVar(value='')

        self.var_resistance = tk.StringVar(value='0')
        self.var_tolerance = tk.StringVar(value='0')
        self.var_temp = tk.StringVar(value='0')

        # === Frames ===

        main_frame = tk.Frame(self.root,bg='olive')
        main_frame.grid()

        title_frame = tk.Frame(main_frame,bg='yellow',bd=10,width=1320,padx=10,relief='ridge')
        title_frame.grid(row=0,column=0,columnspan=2)

        self.lblTitle = tk.Label(title_frame,font=('times new roman',50,'bold'),text="Calculator Resistor",padx=200)
        self.lblTitle.grid(row=0,column=0)

        resistor_frame = tk.Frame(main_frame,width=1350,padx=20,bg='dimgrey',relief='ridge')
        resistor_frame.grid(row=1,sticky='w')

        indicator_frame = tk.Frame(main_frame,relief='ridge')
        indicator_frame.grid(row=1,column=1,sticky='w')

        # === label Band Title ===

        FONT1 = ('times new roman',14,'bold')
        FONT2 = ('times new roman',15,'bold')

        for i,name in enumerate(('1st','2nd','3rd','4th','5th','6th')):
            label = tk.Label(resistor_frame,text="{} Band".format(name),bg="orangered",width=8,font=FONT1)
            label.grid(row=1,column=i)

        #option total Band

        options = {'font': 'bold','bg': 'dimgrey'}

        self.dis  = tk.Radiobutton(resistor_frame,text="3 Band",value=0,command=self.enable_band3,**options)
        self.dis.grid(column=1,row=0)

        self.dis4 = tk.Radiobutton(resistor_frame,text="4 Band",value=2,command=self.enable_band4,**options)
        self.dis4.grid(column=2,row=0)

        self.en4  = tk.Radiobutton(resistor_frame,text="5 Band",value=3,command=self.disable_band4,**options)
        self.en4.grid(column=3,row=0)

        self.en   = tk.Radiobutton(resistor_frame,text="6 Band",value=1,command=self.disable_band3,**options)
        self.en.grid(column=4,row=0)

        colors_1  = (
            ('white','black'),('black','peru'),'red'),'orange'),'yellow'),'green'),'blue'),'purple'),'dimgrey'),'white'),)

        colors_2  = (
            ('white','darkgray'),'darkgoldenrod'),)

        # === 1st Band ===

        self.buttons_band1 = []

        for i,color in enumerate(colors_1):
            button = tk.Button(resistor_frame,text=str(i),command=lambda x=i:self.set_band1(x),font=FONT1,fg=color[0],bg=color[1])
            button.grid(row=i+2,column=0)
            self.buttons_band1.append(button)

        # === 2nd Band ===

        self.buttons_band2 = []

        for i,command=lambda x=i:self.set_band2(x),column=1)
            self.buttons_band2.append(button)

        # === 3rd Band ===

        self.buttons_band3 = []

        for i,command=lambda x=i:self.set_band3(x),column=2)
            self.buttons_band3.append(button)

        # === 4th Band ===

        values = (
            ('x1',1),('x10',10),('x100',100),('x1k',1000),('x10k',10000),('x100k',100000),('x1M',1000000),('x10M',10000000),('x100M',100000000),('x0.01',0.01),('x0.1M',0.1)
        )

        self.buttons_band4 = []

        for i,(color,value) in enumerate(zip(colors_2,values)):
            if value:
                button = tk.Button(resistor_frame,text=value[0],command=(lambda x=value[1]:self.set_band4(x)),bg=color[1])
                button.grid(row=i+2,column=3)
                self.buttons_band4.append(button)

        # === 5th Band ===

        values = (
            None,('1%',('2%',0.02),None,('0.5%',0.005),('0.25%',0.0025),('0.1%',0.001),('10%',0.1),('5%',0.05),)

        self.buttons_band5 = []

        for i,command=(lambda x=value[0]:self.set_band5(x)),column=4)
                self.buttons_band5.append(button)

        # === 6th Band ===

        values = (
            '250ppm/K','100ppm/K','50ppm/K','15ppm/K','25ppm/K',)

        self.buttons_band6 = []

        for i,text=value,command=(lambda x=value:self.set_band6(x)),column=5)
                self.buttons_band6.append(button)

        # === Indicator Frame ===

        label = tk.Label(indicator_frame,text="Resistor Value",font=FONT2)
        label.grid(row=0,sticky='w',padx=10)

        entry = tk.Entry(indicator_frame,width=16,font=FONT2,textvariable=self.var_resistance)
        entry.grid(row=0,pady=3,columnspan=3)

        label = tk.Label(indicator_frame,text="Tolerance",font=FONT2)
        label.grid(row=1,textvariable=self.var_tolerance)
        entry.grid(row=1,pady=10,text="Temp. Coefficient",font=FONT2)
        label.grid(row=2,textvariable=self.var_temp)
        entry.grid(row=2,columnspan=5)

        button = tk.Button(indicator_frame,text="QUIT",command=self.quit,height=2)
        button.grid(column=1,row=3,pady=10)

        button = tk.Button(indicator_frame,text="RESET",command=self.reset,height=2)
        button.grid(column=2,text="HITUNG",command=self.hitung,height=2)
        button.grid(column=3,pady=10)


    def enable_band3(self):
        if self.en == 0:
            value = 'normal'
        else:
            value = 'disabled'

        for button in self.buttons_band3:
            button.configure(state=value)
        for button in self.buttons_band5:
            button.configure(state=value)
        for button in self.buttons_band6:
            button.configure(state=value)

    def disable_band3(self):
        if self.dis != 0:
            value = 'normal'
            for button in self.buttons_band3:
                button.configure(state=value)
            for button in self.buttons_band5:
                button.configure(state=value)
            for button in self.buttons_band6:
                button.configure(state=value)

    def enable_band4(self):
        if self.en4 != 1:
            value = 'normal'
            for button in self.buttons_band5:
                button.configure(state=value)

        value = 'disable'
        for button in self.buttons_band3:
            button.configure(state=value)
        for button in self.buttons_band6:
            button.configure(state=value)

    def disable_band4(self):
        if self.dis4 != 1:
            value = 'normal'
            for button in self.buttons_band3:
                button.configure(state=value)
            for button in self.buttons_band5:
                button.configure(state=value)

            value = 'disable'
            for button in self.buttons_band6:
                button.configure(state=value)

if __name__=='__main__':
    root = tk.Tk()
    application = Resistor(root)
    root.mainloop()

顺便说一句:如果我将IntVar保留在列表中,那么我可以使用一个set_band(self,number,value)来代替set_band1(self,value)set_band2(self,value)等。

本文链接:https://www.f2er.com/3159907.html

大家都在问