Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.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 我的页面变量赢了';当我';我把网页链接在一起_Python_Tkinter_Import_Linker - Fatal编程技术网

Python 我的页面变量赢了';当我';我把网页链接在一起

Python 我的页面变量赢了';当我';我把网页链接在一起,python,tkinter,import,linker,Python,Tkinter,Import,Linker,我有三页。登录屏幕、食堂页面和管理员页面。当我登录时,我有两个选择:或者单击按钮将我带到食堂页面,或者单击按钮将我带到管理员页面。用按钮打开这些页面是可行的,但是,这些屏幕中的变量不起作用 所有功能都是在我的食堂和管理页面中选择的。我不知道当我这样调用变量时为什么变量不起作用,但是页面本身起作用 def CallCanteen(): from practice import All def CallAdmin(): from Admin import All if resul

我有三页。登录屏幕、食堂页面和管理员页面。当我登录时,我有两个选择:或者单击按钮将我带到食堂页面,或者单击按钮将我带到管理员页面。用按钮打开这些页面是可行的,但是,这些屏幕中的变量不起作用

所有功能都是在我的食堂和管理页面中选择的。我不知道当我这样调用变量时为什么变量不起作用,但是页面本身起作用

def CallCanteen():
    from practice import All
def CallAdmin():
    from Admin import All

 if result:
            self.master.destroy()
            root=Tk()
            root.geometry("400x400")
            root.title("Canteen System")
            Label(text = "welcome to the dashboard").pack()
            Button(root, text = "Canteen Page", command=CallCanteen).pack()
            Button(root, text = "Admin Page",command=CallAdmin).pack()
是的,我试过:

def CallCanteen():
    from practice import *
def CallAdmin():
    from Admin import *

但是这会产生语法错误。

您应该将其他模块中的所有代码(在您的例子中是“Admin”和“practice”)放在一个类中。那对你有用

就像我在本例中所做的:

单元1:

import tkinter as tk


def test_func():
    from Module_2 import TestClass


root = tk.Tk()

b = tk.Button(root, text="Click", command=lambda: test_func())
b.pack()

root.mainloop()
模块2:

class TestClass:
    import tkinter as tk
    examle_variable = 0
    root = tk.Tk()
    lbl = tk.Label(root, text="Test Label")
    lbl.pack()
    root.mainloop()

要访问任何变量,请在其名称之前使用
名称。 在本例中:
TestClass.example\u变量


这对你有用

什么是“变量不起作用”?另外,请将您的问题包括在我的食堂页面中,我有一个复选按钮,因此当单击它时,可以打开一个文本框,我可以在其中插入一个数字。如果未单击复选按钮,则状态为禁用,因此文本框不会打开。这一页很好用。当我尝试导入此页面时,页面会打开,但是我的复选按钮不允许我打开文本框。这是您的问题吗?