首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用一个位置调用tkinter的画布

用一个位置调用tkinter的画布
EN

Stack Overflow用户
提问于 2013-05-19 14:02:25
回答 2查看 2.7K关注 0票数 0

当您调用tkinter的画布时,定义一个高度和宽度:

代码语言:javascript
运行
复制
w = Canvas(master, width=ScreenWidth, height=ScreenHeight)

为此,我首先获得用户的屏幕分辨率,然后将其用于高度和宽度。但是,在windows系统上,这与任务栏重叠。所以我试图通过缩短高度来弥补这个问题。不幸的是,画布是从底部定义的,所以这只是将画布的顶部切下来,而不是从下到上。理想情况下,我只需在整个画布上分割出整个任务栏大小的块,以说明将任务栏放置在其他地方的用户。

是否有一种方法可以调用带有位置的画布,以便将其与windows中的任务栏(或任务栏重叠问题的另一种解决方案)相抵消?

注:我试过:

代码语言:javascript
运行
复制
w.pack(side="top")

下面这个类似的问题似乎对我的处境毫无帮助

Positioning Canvas in window - Tkinter/python

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-19 14:09:26

在屏幕上没有相对于任何位置的画布,本质上是没有办法的。画布不是一个独立的窗口。你能做的就是把它放在一个相对于它包含窗口的地方。

但是,您可以使用Toplevel方法对最顶层窗口(Tk实例或geometry实例)进行绝对控制。该方法允许您指定窗口的宽度和高度以及窗口在屏幕上的位置。

因此,如果要将画布放置在特定位置,则必须将窗口放在该位置,然后确保画布填充该窗口。

票数 2
EN

Stack Overflow用户

发布于 2013-05-19 15:21:38

如@Bryan Oakley所述,要将其放置在中间,请使用以下内容:

代码语言:javascript
运行
复制
# note: 'master' is a tk.Toplevel() or a tk.Tk()

w = Canvas(master, width=ScreenWidth, height=ScreenHeight)
w.pack()

master.geometry("+{xPos}+{yPOS}".format(xPos = 0, yPos = 0))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16635450

复制
相关文章

相似问题

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