Форум сайта python.su
Доброго времени суток!
Нужно вывести имя пользователя из файла логин, в окно мэйн.
Ниже код файла login
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()
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()
Прикреплённый файлы:
users.txt (67 байт)
Офлайн
username = login.return_login(username)
Отредактировано xam1816 (Апрель 16, 2024 09:01:18)
Офлайн