0

我正在使用 tkinter 为我的学校创建一个项目,该项目专注于牙科诊所。我在此处发布的代码会打开一个窗口,要求患者登录或注册。除画布部分外,该功能正常工作。函数执行时;标签、文本字段和按钮移出我放在根窗口中的画布,如输出的屏幕截图所示。我应该进行哪些更改以使标签、文本字段和按钮在画布中而不是在画布之外?

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)

函数执行后的输出

4

1 回答 1

1

传递小部件c而不是root作为第一个参数,它们将被放置在其中:

widget=Label(c, text='whatever')

然后,当您将小部件传递给几何管理器时,它将位于c.

于 2018-04-06T23:22:20.257 回答