我想知道如何使用tkinter模块在画布中放置一个按钮。这个问题是有人问的,但那是5年前的事了,而且是另一个版本,所以对我的情况不太方便,而且我还是个初学者,所以我只理解了大约3/4的代码中最好的答案。以下是问题:How to make a Button using the tkinter Canvas widget?
from tkinter import *
root = Tk()
c=Canvas(root,width=200,height=150,bg='blue')
c.pack(side = 'top')
c.create_text(100,50,anchor='c',fill='orange',font='Times 28',text='List')
button = Button(root, text="Quit",command=root.destroy)
button.pack()
mainloop()
当我运行这段代码时,它会在画布下面创建按钮,而不是在画布上。我在https://docs.python.org/3.7/library/tkinter.html上寻找帮助,这是我正在使用的IDE的指南。我找不到办法把按钮放在画布上,即使我可能遗漏了什么,也可能没有遗漏。如果这个问题被认为没有帮助或不必要,我道歉,并将立即结束它。
Python的版本: 3.7
级别:初学者
运行代码:空闲64位
操作系统: Windows 10
发布于 2018-10-17 03:06:38
当您使用pack()
时,tkinter会将按钮放置在它的主(根)上,画布绘制的区域已经被占用。
要将按钮放在画布上,您应该在画布上使用函数create_window()
:
from tkinter import *
root = Tk()
c = Canvas(root,width=200,height=150,bg='blue')
c.pack(side = 'top')
c.create_text(100, 50, anchor='c', fill='orange', font='Times 28', text='List')
button = Button(root, text="Quit", command=root.destroy)
canvas_widget = c.create_window(100, 100, window=button)
root.mainloop()
发布于 2018-10-17 03:16:37
删除button.pack()
尝试使用下面的代码
按钮=按钮(根,text=“退出”,command=root.destroy)
c.create_window(10,10,anchor=NW,window=button)
https://stackoverflow.com/questions/52846255
复制相似问题