如何在框架中放置标签和按钮
How to place labels and buttons in frame
如何将用户名和密码标签与登录按钮一起放置在 f2 框内。因为,此时f1和f2正在覆盖标签和按钮。
这是我的代码:
from tkinter import *
import os
def adminLogin():
global AnameEL
global ApwordEL # More globals :D
global ArootA
ArootA = Tk() # This now makes a new window.
ArootA.geometry('1280x720')
ArootA.title('Admin login') # This makes the window title 'login'
f1 = Frame(width=200, height=200, background="#D3D3D3")
f2 = Frame(width=400, height=200, background="#b4b4b4")
f1.pack(fill="both", expand=True, padx=0, pady=0)
f2.place(in_=f1, anchor="c", relx=.5, rely=.5)
AnameL = Label(ArootA, text='Username: ') # More labels
ApwordL = Label(ArootA, text='Password: ') # ^
AnameL.grid(row=1, sticky=W)
ApwordL.grid(row=2, sticky=W)
AnameEL = Entry(ArootA) # The entry input
ApwordEL = Entry(ArootA, show='*')
AnameEL.grid(row=1, column=1)
ApwordEL.grid(row=2, column=1)
AloginB = Button(ArootA, text='Login')
AloginB.grid(columnspan=2, sticky=W)
adminLogin()
我想要这个:
放在中间这个深灰色的小盒子里:
当您创建小部件时,例如框架和标签以及条目和按钮,您传递的第一个参数是 "parent" 或 "master" 参数。该 arg 确定 Tkinter 放置小部件的位置。因此,如果您希望小部件显示在特定框架中,那么在创建小部件时传递该框架而不是 ArootA。
特别是,由于您想要 f2 中的小部件,因此在创建这些小部件时将 f2 而不是 ArootA 作为第一个 arg。
当您创建框架时,您应该 传入根小部件 ArootA。所以:
f2 = Frame(width=400, ...
真的应该是:
f2 = Frame(ArootA, width=400, ...
并且由于您希望小部件位于 f2 中,因此更改:
AnameL = Label(ArootA, ...
到
AnameL = Label(f2, ...
等等,这应该会给你想要的结果。
如何将用户名和密码标签与登录按钮一起放置在 f2 框内。因为,此时f1和f2正在覆盖标签和按钮。
这是我的代码:
from tkinter import *
import os
def adminLogin():
global AnameEL
global ApwordEL # More globals :D
global ArootA
ArootA = Tk() # This now makes a new window.
ArootA.geometry('1280x720')
ArootA.title('Admin login') # This makes the window title 'login'
f1 = Frame(width=200, height=200, background="#D3D3D3")
f2 = Frame(width=400, height=200, background="#b4b4b4")
f1.pack(fill="both", expand=True, padx=0, pady=0)
f2.place(in_=f1, anchor="c", relx=.5, rely=.5)
AnameL = Label(ArootA, text='Username: ') # More labels
ApwordL = Label(ArootA, text='Password: ') # ^
AnameL.grid(row=1, sticky=W)
ApwordL.grid(row=2, sticky=W)
AnameEL = Entry(ArootA) # The entry input
ApwordEL = Entry(ArootA, show='*')
AnameEL.grid(row=1, column=1)
ApwordEL.grid(row=2, column=1)
AloginB = Button(ArootA, text='Login')
AloginB.grid(columnspan=2, sticky=W)
adminLogin()
我想要这个:
放在中间这个深灰色的小盒子里:
当您创建小部件时,例如框架和标签以及条目和按钮,您传递的第一个参数是 "parent" 或 "master" 参数。该 arg 确定 Tkinter 放置小部件的位置。因此,如果您希望小部件显示在特定框架中,那么在创建小部件时传递该框架而不是 ArootA。
特别是,由于您想要 f2 中的小部件,因此在创建这些小部件时将 f2 而不是 ArootA 作为第一个 arg。
当您创建框架时,您应该 传入根小部件 ArootA。所以:
f2 = Frame(width=400, ...
真的应该是:
f2 = Frame(ArootA, width=400, ...
并且由于您希望小部件位于 f2 中,因此更改:
AnameL = Label(ArootA, ...
到
AnameL = Label(f2, ...
等等,这应该会给你想要的结果。