Доброго времени суток!
Не могу разобраться как вывести имя пользователя из файла login в окно файла main
main
login
У меня получается вывести только адрес(
Не могу разобраться как вывести имя пользователя из файла login в окно файла main
main
Python:
import tkinter as tk
import random as rn
import webbrowser
import login
def decor(func):
def wrapper():
button_width = 3
button_height = 3
func()
for button in buttons_list:
button.config(width=button_width, height=button_height)
return wrapper
@decor
def main_fun():
m = []
min_val = int(ent1.get())
max_val = int(ent2.get())
cel = int(ent3.get())
rows = 6
cols = 6
global buttons_list
buttons_list = []
while cel > 0:
count = rn.randint(min_val, max_val)
cel -= count
if cel - count < 0:
m.append(cel-(-count))
break
m.append(count)
button_count = len(m)
row = 0
col = 0
for i in range(button_count):
button = tk.Button(win, text=str(m[i]), command=web)
button.grid(row=row, column=col, sticky="NSEW", padx=5, pady=5) # Размещение кнопок по центру с отступами
buttons_list.append(button)
col += 1
if col == cols:
col = 0
row += 1
ent1.destroy()
ent2.destroy()
ent3.destroy()
btn1.destroy()
def web():
webbrowser.open('http://google.com')
def show_username():
username = login.return_login(username)
username_label.config(text="Имя пользователя: " + str(username))
# Создаём виджеты
win = tk.Tk()
# Создаем метку для отображения имени пользователя
username_label = tk.Label(win, text="", anchor="e")
username_label.grid(row=0, column=1, sticky="e", padx=10, pady=10)
show_username() # Вызываем функцию для отображения имени пользователя
btn1 = tk.Button(win, text="Create", command=main_fun)
btn1.grid(row=1, column=0, columnspan=3, pady=5) # Размещение кнопки "Create" в верхней части окна с отступом внизу
ent1 = tk.Entry(win)
ent1.grid(row=2, column=0, padx=5, pady=5) # Размещение поля ввода 1
ent1.insert(tk.END, "Минимальное значение")
ent2 = tk.Entry(win)
ent2.grid(row=2, column=1, padx=5, pady=5) # Размещение поля ввода 2
ent2.insert(tk.END, "Максимальное значение")
ent3 = tk.Entry(win)
ent3.grid(row=2, column=2, padx=5, pady=5) # Размещение поля ввода 3
ent3.insert(tk.END, "Целевое значение")
win.geometry("640x480")
win.mainloop()
Python:
import tkinter as tk
from tkinter import messagebox
import sys
def check():
global username
login = ent1.get()
pas = ent2.get()
with open('users.txt', 'a+') as file:
file.seek(0)
for line in file:
if line.strip():
username, password = line.strip().split('/')
if login == username and pas == password:
root.destroy()
return
else:
tk.messagebox.showerror("Ошибка", "Произошла ошибка!")
sys.exit(1)
def return_login(username):
return username()
def sign_in():
login = ent1.get()
pas = ent2.get()
with open('users.txt', 'a+') as file:
file.write(login + '/' + pas + '\n')
file.flush()
tk.messagebox.showinfo("Успех", "Данные успешно добавлены в файл")
root = tk.Tk()
ent1 = tk.Entry(root)
ent1.pack()
ent2 = tk.Entry(root, show='*')
ent2.pack()
log = tk.Button(root, text='Log in', command=check)
log.pack()
sig = tk.Button(root, text='Sign in', command=sign_in)
sig.pack()
root.mainloop()