0
나는 파이썬과 tkinter를 배우고 배우기 위해 응용 프로그램을 만들고 있습니다. 내가 가지고있는 문제는 항목과 레이블을 원하는대로 정렬 할 수 없다는 것입니다. 나는 이런 식으로 배열하고 싶습니다 :파이썬 tkinter 정렬 문제
labelUsername entryUsername
labelPassword entryPassword
그러나,이 같은 현재의 : 나는 왜 당신이
import tkinter as tk
from tkinter import ttk
TITLE_FONT = ("Verdana", 12)
NORMAL_FONT = ("Verdana", 8)
class CCTV(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack()
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (LoginPage, PageOne):
frame = F(container, self)
self.frames[F] = frame
frame.grid(column=0, row=0, sticky="nsew")
self.show_frame(LoginPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class LoginPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
label = ttk.Label(self, text="Login Page", font=TITLE_FONT)
label.pack(padx=20, pady=20)
labelUsername = ttk.Label(self, text="Username", font=NORMAL_FONT)
labelUsername.grid(row=0, sticky="w")
labelUsername.pack()
entryUsername = ttk.Entry(self, font=NORMAL_FONT)
entryUsername.grid(column=1, row=0)
entryUsername.pack()
labelPassword = ttk.Label(self, text="Password", font=NORMAL_FONT)
labelPassword.grid(row=1, sticky="w")
labelPassword.pack()
entryPassword = ttk.Entry(self, show = "*", font=NORMAL_FONT)
entryPassword.grid(column=1, row=1)
entryPassword.pack()
loginButton = ttk.Button(self, text="Login", command=lambda: controller.show_frame(PageOne))
loginButton.grid()
loginButton.pack()
class PageOne(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
label = tk.Label(self, text="Page One", font=TITLE_FONT)
label.pack(padx=20, pady=20)
button1 = tk.Button(self, text="Back to home", command=lambda: controller.show_frame(LoginPage))
button1.pack()
app = CCTV()
app.geometry("800x600")
app.mainloop()
을 궁금해하는 경우 : 여기
labelUsername
entryUsername
labelPassword
entryPassword
내 코드입니다 이러한 간단한 프로그램을위한 코드가 많기 때문에 새로운 윈도우를 만들지 않고 여러 프레임을 가질 수 있도록 프레임을 변경할 수 있습니다. 도움을 주시면 감사하겠습니다.
와우는, 정말 감사합니다. 이것은 몇 시간 동안 저를 괴롭 혔고 그리드와 팩을 동시에 사용하는 것에 대해 생각조차하지 못했다고는 믿을 수 없습니다. 나를 바보처럼 느껴지게 하하. 고맙게 생각하고 다시 한 번 감사드립니다! – Conor