我有一个登录屏幕,一旦登录,它将把我带到一个有两个按钮的页面。食堂页面按钮,和管理页面按钮。
我的第一个问题是,一旦我按下按钮打开我的食堂页面,这个页面中的所有内容似乎都不工作了。我假设我必须“从食堂导入*”,尽管我不能在一个模块下导入所有内容。我的第二个问题与第一个问题相同,只是在我的Admin屏幕上。
def adminpage():
import Admin
def canteenpage():
import Canteen
find_user = ('SELECT * FROM user WHERE username = ? and password = ?')
c.execute(find_user,[(self.username.get()),(self.password.get())])
result = c.fetchall()
if result:
root=Tk()
root.geometry("400x400")
root.title("Select Page")
Label(text = "welcome to the dashboard").pack()
Button(root, text = "Canteen Page",command=canteenpage).pack()
Button(root, text = "Admin Page",command=adminpage).pack()发布于 2020-01-06 18:03:08
您应该将另一个模块(在本例中为"Admin“和"Canteen")中的所有代码放在一个类中。这对你来说很管用。
就像我在这个例子中所做的那样:
Module_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()Module_2:
class TestClass:
import tkinter as tk
root = tk.Toplevel()
lbl = tk.Label(root, text="Test Label")
lbl.pack()这对你来说很有用
发布于 2020-01-07 10:54:29
正如我的评论所说,如果您想导入模块的内容,请使用from Canteen import *
然而,我不认为导入模块会封装您想要实现的行为。您的代码似乎表明您希望在新窗口中提供数据库查询的结果。
对于这种行为,我建议检查message widget或tkinter的messagebox widget,并调整您的代码以使用它们中的任何一个。
https://stackoverflow.com/questions/59605298
复制相似问题