当您调用tkinter的画布时,定义一个高度和宽度:
w = Canvas(master, width=ScreenWidth, height=ScreenHeight)为此,我首先获得用户的屏幕分辨率,然后将其用于高度和宽度。但是,在windows系统上,这与任务栏重叠。所以我试图通过缩短高度来弥补这个问题。不幸的是,画布是从底部定义的,所以这只是将画布的顶部切下来,而不是从下到上。理想情况下,我只需在整个画布上分割出整个任务栏大小的块,以说明将任务栏放置在其他地方的用户。
是否有一种方法可以调用带有位置的画布,以便将其与windows中的任务栏(或任务栏重叠问题的另一种解决方案)相抵消?
注:我试过:
w.pack(side="top")下面这个类似的问题似乎对我的处境毫无帮助
发布于 2013-05-19 14:09:26
在屏幕上没有相对于任何位置的画布,本质上是没有办法的。画布不是一个独立的窗口。你能做的就是把它放在一个相对于它包含窗口的地方。
但是,您可以使用Toplevel方法对最顶层窗口(Tk实例或geometry实例)进行绝对控制。该方法允许您指定窗口的宽度和高度以及窗口在屏幕上的位置。
因此,如果要将画布放置在特定位置,则必须将窗口放在该位置,然后确保画布填充该窗口。
发布于 2013-05-19 15:21:38
如@Bryan Oakley所述,要将其放置在中间,请使用以下内容:
# 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))https://stackoverflow.com/questions/16635450
复制相似问题