gpt4 book ai didi

python - 如何在 python 3.7 中的 Tk Canvas 内创建按钮

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:59 26 4
gpt4 key购买 nike

我想知道如何使用 tkinter 模块在 Canvas 中放置一个按钮。有人问过这个问题,但那是 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()

当我运行这段代码时,它会在我的 Canvas 下方创建按钮,而不是在 Canvas 上。我在 https://docs.python.org/3.7/library/tkinter.html 上寻求帮助我正在使用的 IDE 的指南。我找不到将按钮放在 Canvas 上的方法,即使我可能错过或可能没有错过某些东西。如果这个问题被认为没有帮助或不必要,我深表歉意并会立即将其关闭。

Python 版本:3.7

级别:初级

运行代码: IDLE 64 位

操作系统:Windows 10

最佳答案

当您使用 pack() 时,tkinter 会将按钮放置在它的主节点(根)上,并且绘制 Canvas 的区域已经被占用。

要将按钮放置在 Canvas 上,您应该在 Canvas 上使用函数 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()

关于python - 如何在 python 3.7 中的 Tk Canvas 内创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52846255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com