-1
我有一個簡單的代碼,如果用戶存在於文件中,它將從文件中獲取用戶,如果登錄憑據在文件中進行了計算,則會打開該文件的位置,但我無法通過tkinter完成相同操作,至此我已完成這如何在tkinter中組合代碼?
from tkinter import *
import tkinter.messagebox as tm
import os
class LoginFrame(Frame):
def __init__(self, master):
super().__init__(master)
self.label_1 = Label(self, text="Username")
self.label_2 = Label(self, text="Password")
self.entry_1 = Entry(self)
self.entry_2 = Entry(self, show="*")
self.label_1.grid(row=0, sticky=E)
self.label_2.grid(row=1, sticky=E)
self.entry_1.grid(row=0, column=1)
self.entry_2.grid(row=1, column=1)
self.logbtn = Button(self, text="Login", command = self._login_btn_clickked)
self.logbtn.grid(columnspan=2)
self.pack()
def _login_btn_clickked(self):
#print("Clicked")
username = self.entry_1.get()
password = self.entry_2.get()
#print(username, password)
f = open("User.txt", "r")
for line in f.readlines():
us, pw = line.strip().split("|")
if (username in us) and (password in pw==password):
print ("Login successful!")
f.close()
return True
print ("Wrong username/password")
f.close()
return False
def menu():
#here's a menu that the user can access if he logged in.
users = []
f = open("User.txt", "r")
for line in f.readlines():
us,pw = line.strip().split("|")
users.append(us)
for i in users:
if (user == i):
os.startfile("F:\waleed") '''
if user=="malik":
os.system('xdg-open "/home/pi/Desktop/malik"')
if user=="john":
os.system('xdg-open "/home/pi/Desktop/john"')
'''
#here's a menu that the user can access if he logged in.
root = Tk()
lf = LoginFrame(root)
root.mainloop()
你的代碼有什麼都沒有做Tkinter的幾個問題;它甚至不是有效的python(在三重引號字符串處)。將問題縮小到一個問題,以獲得有用的幫助。 – alexis