我的当前代码位于底部
我正在尝试在成功登录后关闭Window1
,然后打开Window2
目前我只有用户名输入只是为了测试的目的。你知道吗
如果one
是用户名条目,我当前的if
语句将打开一个新窗口。但显示了两个窗口。你知道吗
我需要摆脱窗口1和显示窗口2后,成功登录。你知道吗
我做了一些研究,发现了这个answer,但我认为这在我当前的代码中不起作用。你知道吗
我还尝试了以下操作,但出现了一个错误:
def login_system(self):
u = self.UsernameEntry.get()
if u == "one":
self.newWindow = Toplevel(self.master)
self.app = Window2(self.newWindow)
Window1().destory()
错误:
TypeError: __init__() missing 1 required positional argument: 'master'
我怎样才能做到这一点?你知道吗
from tkinter import *
from tkinter import DISABLED, messagebox
import tkinter.ttk as ttk
import os
import glob
from PIL import Image, ImageTk, ImageGrab
from pathlib import Path
import pyautogui
import time
def main():
root = Tk()
app = Window1(root)
root.mainloop()
class Window1:
def __init__(self,master):
self.master = master
self.master.title("User Log In")
self.master.geometry('1000x750')
self.frame = Frame(self.master)
self.frame.pack(fill="both", expand=True)
self.UsernameEntry = Entry(self.frame)
self.UsernameEntry.grid(row = 2, column = 0)
self.btnLogin = Button(self.frame, text = 'login', width = 17, command = self.login_system)
self.btnLogin.grid(row = 3, column = 0)
def login_system(self):
u = self.UsernameEntry.get()
if u == "one":
self.newWindow = Toplevel(self.master)
self.app = Window2(self.newWindow)
else:
self.UsernameEntry.delete(0,"end")
class Window2:
def __init__(self,master):
notebook = ttk.Notebook(master)
notebook.pack(expand = 1, fill = "both")
#Frames
main = ttk.Frame(notebook)
manual = ttk.Frame(notebook)
notebook.add(main, text='Main-Screen')
notebook.add(manual, text='Manual')
if __name__ == '__main__':
main()
您正在使用许多不需要的库。不管怎样,你只需要一行代码就可以了 内部if语句 自主退出()
编辑 因为是您要求的,所以我添加了一个函数来关闭cmd
完整代码
相关问题 更多 >
编程相关推荐