Im still new to Tkinter and I was trying to make a login screen. The functionality is there, however I want my canvas to be 200x300px, however that doesnt seem to work. It returns me with a canvas to just about fit the button and input field. Please help!
import tkinter as tk
class Login_Screen:
def __init__(self, master):
self.master = master
self.canvas = tk.Canvas(self.master, width=200, height=300)
self.frame = tk.Frame(self.canvas)
self.input_user_log = tk.Entry(self.frame)
self.button1 = tk.Button(self.frame, text="Log in", width=15, command=self.return_login_info)
self.input_user_log.pack()
self.canvas.pack()
self.button1.pack()
self.frame.pack()
def return_login_info(self):
print(self.input_user_log.get())
root = tk.Tk()
app = Login_Screen(root)
root.mainloop()
Use the geometry()
method on master
.
import tkinter as tk
class Login_Screen:
def __init__(self, master):
self.master = master
self.master.geometry("300x200")
self.canvas = tk.Canvas(self.master)
self.frame = tk.Frame(self.canvas)
self.input_user_log = tk.Entry(self.frame)
self.button1 = tk.Button(self.frame, text="Log in", width=15, command=self.return_login_info)
self.input_user_log.pack()
self.canvas.pack()
self.button1.pack()
self.frame.pack()