首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python 3.7中在Tk画布中创建按钮

如何在python 3.7中在Tk画布中创建按钮
EN

Stack Overflow用户
提问于 2018-10-17 01:56:23
回答 2查看 1K关注 0票数 2

我想知道如何使用tkinter模块在画布中放置一个按钮。这个问题是有人问的,但那是5年前的事了,而且是另一个版本,所以对我的情况不太方便,而且我还是个初学者,所以我只理解了大约3/4的代码中最好的答案。以下是问题:How to make a Button using the tkinter Canvas widget?

代码语言:javascript
运行
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-17 03:06:38

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

要将按钮放在画布上,您应该在画布上使用函数create_window()

代码语言:javascript
运行
复制
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()
票数 2
EN

Stack Overflow用户

发布于 2018-10-17 03:16:37

删除button.pack()

尝试使用下面的代码

按钮=按钮(根,text=“退出”,command=root.destroy)

c.create_window(10,10,anchor=NW,window=button)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52846255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档