如何将小部件放置在 canvas 中?
How do I place the widgets in the canvas?
我正在使用 tkinter 为我的学校创建一个专注于牙科诊所的项目。我在此处发布的代码会打开一个 window,要求患者登录或注册。除 canvas 部分外,该功能正常工作。函数执行时;标签、文本字段和按钮移出了我放在根 window 中的 canvas,如输出屏幕截图所示。我应该做哪些更改才能使标签、文本字段和按钮在 canvas 中而不是在其中?
def patclick(self):
root = Tk()
root.title("INSERT DETAILS")
c = Canvas(root, bg="#dfe3ee")
c.grid()
titlelabel = Label(root, text="Please Login to continue")
titlelabel.grid(row=0, columnspan=2)
patnamelabel = Label(root, text="Full Name")
patnamelabel.grid(row=1, column=0, sticky=E)
self.patnameentry = Entry(root)
self.patnameentry.grid(row=1, column=1)
patpwlabel = Label(root, text="Password")
patpwlabel.grid(row=2, column=0, sticky=E)
self.patpwentry = Entry(root, show='*')
self.patpwentry.grid(row=2, column=1)
patloginbutt = Button(root, text="Login")
patloginbutt.grid(row=3, columnspan=2)
newpatlabel = Label(root, text="New Patient?")
newpatlabel.grid(row=4, columnspan=2)
patsignupbutt = Button(root, text="Sign Up")
patsignupbutt.grid(row=5, columnspan=2)
The output after the function is executed
传递小部件 c
而不是 root
作为第一个参数,它们将被放置在其中:
widget=Label(c, text='whatever')
然后,当您将小部件传递给几何管理器时,它将位于 c
。
我正在使用 tkinter 为我的学校创建一个专注于牙科诊所的项目。我在此处发布的代码会打开一个 window,要求患者登录或注册。除 canvas 部分外,该功能正常工作。函数执行时;标签、文本字段和按钮移出了我放在根 window 中的 canvas,如输出屏幕截图所示。我应该做哪些更改才能使标签、文本字段和按钮在 canvas 中而不是在其中?
def patclick(self):
root = Tk()
root.title("INSERT DETAILS")
c = Canvas(root, bg="#dfe3ee")
c.grid()
titlelabel = Label(root, text="Please Login to continue")
titlelabel.grid(row=0, columnspan=2)
patnamelabel = Label(root, text="Full Name")
patnamelabel.grid(row=1, column=0, sticky=E)
self.patnameentry = Entry(root)
self.patnameentry.grid(row=1, column=1)
patpwlabel = Label(root, text="Password")
patpwlabel.grid(row=2, column=0, sticky=E)
self.patpwentry = Entry(root, show='*')
self.patpwentry.grid(row=2, column=1)
patloginbutt = Button(root, text="Login")
patloginbutt.grid(row=3, columnspan=2)
newpatlabel = Label(root, text="New Patient?")
newpatlabel.grid(row=4, columnspan=2)
patsignupbutt = Button(root, text="Sign Up")
patsignupbutt.grid(row=5, columnspan=2)
The output after the function is executed
传递小部件 c
而不是 root
作为第一个参数,它们将被放置在其中:
widget=Label(c, text='whatever')
然后,当您将小部件传递给几何管理器时,它将位于 c
。