Я с целью сделать программу входа в систему, но единственная часть, которая меня смущает, как сделать frames.I нужно 3 различных кадров, но я не знаю и как сделать кадр другой тогда как это:Как создать вспомогательные кадры с определенным макетом?
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
, и я могу делать только ярлыки и виджеты с использованием этого единого мэйнфрейма. Что касается другого, это вне меня. Мне нужно точно знать, что нужно размещать вставки внутри каждого фрейма, и даже после создания фреймов я не знаю, как помещать материал в сетку. Пойду ли я для общей сетки или что-то изменится после создания сетки. Я использую следующий макет для создания фрейма. В основном я надеюсь на крушение в кадрах. Любая информация, которую я собрал, не имеет смысла для меня, даже после того, как я попытался поместить ее в код.
У меня есть часть кодирования вниз только не часть рамы.
#Import tkinter to make gui
from tkinter import *
from tkinter import ttk
import codecs
def login(*args
):
file = open("rot13.txt", "r")
lines = file.readlines()
uname = user.get()
pword = pw.get()
for i in lines:
x = i.split()
if codecs.encode(uname,'rot13') == x[0] and codecs.encode(pword,'rot13') == x[1]:
result.set("Successful")
break;
else:
result.set("Access Denied")
root = Tk()
root.title("Login")
#Configures column and row settings and sets padding
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
user = StringVar()
pw = StringVar()
result = StringVar()
user_entry = ttk.Entry(mainframe, width=20, textvariable=user)
user_entry.grid(column=2, row=1, sticky=(W, E))
pw_entry = ttk.Entry(mainframe, width=20, textvariable=pw)
pw_entry.grid(column=2, row=2, sticky=(W, E))
ttk.Label(mainframe, text="Username ").grid(column=1, row=1, sticky=W)
ttk.Label(mainframe, text="Password ").grid(column=1, row=2, sticky=W)
ttk.Label(mainframe, text="").grid(column=1, row=3, sticky=W)
ttk.Label(mainframe, text="Result").grid(column=1, row=4, sticky=W)
ttk.Label(mainframe, text="").grid(column=1, row=5, sticky=W)
ttk.Button(mainframe, text="Login", command=login).grid(column=3, row=6, sticky=W)
#Makes a spot to put in result
ttk.Label(mainframe, textvariable=result).grid(column=2, row=4, sticky=(W, E))
#Opens up with item selected and allows you to enter username without having to click it
user_entry.focus()
#Runs calculate if click enter
root.bind('<Return>', login)
root.mainloop()
Длинное объяснение + довольно изображение + красивый MCVE ... Но я до сих пор не получили то, что вы действительно хотите достичь:»... единственная часть, которая сбивает с толку меня, как сделать фреймы. Мне нужны 3 разных фрейма, но я не знаю, как сделать фрейм другим тогда следующим образом: ... Что касается создания другого, это вне меня. Мне нужно точно знать, какие именно вставки внутри каждый кадр и даже после создания фреймов я не знаю, как помещать вещи в сетку. Пойду ли я для общей сетки или что-то изменится после создания сетки ». и т. д. Что означают эти все (предложения)? –
Вы хотите получить представление, как на изображении, которое вы указали выше? Итак, что мешает вам туда добраться? Просто сделайте несколько кадров, поместите нужные виджеты в правильные рамки, и все. –
То, что я хочу, состоит в том, чтобы иметь три кадра, подобные этим трем боксам на изображении. Я хочу поместить имя пользователя и пароль в первый ящик результата входа во второй ящик и кнопку входа в третий ящик. Я хочу знать, как поместить виджеты в три окна и как создать эти три окна (фреймы). Я не знаю, как сделать более 1 кадра. Я пытаюсь сделать 1 большой фрейм, а затем сделать три вспомогательных кадра с использованием этого мэйнфрейма, но ни один из моих виджетов не появляется. –