Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.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
如何在tkinter python中从一个窗口到另一个窗口获取变量_Python_Tkinter - Fatal编程技术网

如何在tkinter python中从一个窗口到另一个窗口获取变量

如何在tkinter python中从一个窗口到另一个窗口获取变量,python,tkinter,Python,Tkinter,我想获取当前分配给“text”标签(label_reduced_l)的变量,并将其用于下一个class/tkinter窗口中的计算。启动后变量计数器_reduced和计数器_regular必须设置为0。全局变量不能处理这个任务,因为,正如我在另一个类中所提到的,它的值为0,尽管它被函数增加了。 我怎样才能改变它使它工作 来自课堂: class OrdinaryHourTicket(tk.Frame): def __init__(self, parent, controller):

我想获取当前分配给“text”标签(label_reduced_l)的变量,并将其用于下一个class/tkinter窗口中的计算。启动后变量计数器_reduced和计数器_regular必须设置为0。全局变量不能处理这个任务,因为,正如我在另一个类中所提到的,它的值为0,尽管它被函数增加了。 我怎样才能改变它使它工作

来自课堂:

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

        global counter_reduced
        global counter_regular
        counter_reduced = 0
        counter_regular = 0

        def on_click_up():
            global counter_reduced
            counter_reduced += 1
            label_reduced_l.configure(text=str(counter_reduced))

        def on_click_down():
            global counter_reduced
            if counter_reduced - 1 is not -1:
                counter_reduced -= 1
            label_reduced_l.configure(text=str(counter_reduced))

        label_reduced = tk.Label(self, text='Bilet Ulgowy: ', height=3, width=20, bg='gold',
                                 font=('Times New Roman', 20, 'bold'))
        label_reduced.grid(row=1, column=0, padx=70, pady=5, sticky='es')

        label_reduced_l = tk.Label(self, text=str(counter_reduced), height=3, width=5, bg='white',
                                   font=('Times New Roman', 20, 'bold'))
        label_reduced_l.grid(row=1, column=0, padx=5, pady=5, sticky='es')

        btn_reduced_up = tk.Button(self, text="+", command=on_click_up, height=2, width=3,
                                   font=('Times New Roman', 30, 'bold'))
        btn_reduced_up.grid(row=1, column=1, padx=50, pady=5, sticky='ws')

        btn_reduced_down = tk.Button(self, text="-", command=on_click_down, height=2, width=3,
                                     font=('Times New Roman', 30, 'bold'))
        btn_reduced_down.grid(row=1, column=1, padx=150, pady=5, sticky="ws")

上课:

class ForPay(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        self.controller = controller
        global counter_reduced, counter_regular

        label_pay_sum = tk.Label(self, text=(counter_reduced * 1.8 + counter_regular*3.8), height=3, width=5,
                                 bg='white', font=('Times New Roman', 20, 'bold'))
        label_pay_sum.grid(row=2, column=0, padx=5, pady=120, sticky='en')

您的
控制器
应具有对
类OrdinaryHourTicket
实例的引用。使用
controller.标签[text]
访问它。请将您的问题包括在内。