Zelle 和 Graphics.py - 如何让图形 window 始终位于顶部?
Zelle and Graphics.py - how can I keep the graphic window always on top?
使用 graphics.py,我想知道是否有办法让 graphics.py canvas/window 始终保持在顶部。使用 pycharm 时,如果输入位于 pycharm 中 - 图形将隐藏在应用程序后面。我在 turtle 中找到了一种方法,但似乎无法将其合并到 graphic.py
这是乌龟:
rootwindow=turtle.getcanvas().winfo_toplevel()
rootwindow.call('wm','attributes','.','-topmost','1')
关于如何在 Zelle 中完成此操作的任何想法?
这是一个简单的例子,当在 pycharm 进入控制台时,图形 window 移到 pycharm 后面而不是留在顶部
from graphics import *
win = GraphWin("MyWindow", 200, 200)
def cir(radius):
cir = Circle(Point(30,30), radius)
cir.setFill("red")
cir.draw(win)
return
radius=int(input("what size of circle?"))
cir(radius)
win.getMouse()
win.close()
您可以使用与 turtle
模块基本相同的方式来完成它,稍微 tricky/hacky 的部分是确定根 window 是什么。至少有几种方法可以做到这一点,但我认为在 tkinter
).
中使用通用小部件方法 nametowidget()
was the cleanest (note: '.'
is always the root's window name
from graphics import *
win = GraphWin("MyWindow", 200, 200)
rootwindow = win.nametowidget('.')
rootwindow.call('wm', 'attributes', '.', '-topmost', '1')
def cir(radius):
cir = Circle(Point(30,30), radius)
cir.setFill("red")
cir.draw(win)
return
radius = int(input("what size of circle?"))
cir(radius)
win.getMouse()
win.close()
推荐
在我看来,您最好学习如何使用 graphics
模块的 Entry
对象从用户那里获取键盘数据,因为那样您就不需要做任何事情像这样hacky。
使用 graphics.py,我想知道是否有办法让 graphics.py canvas/window 始终保持在顶部。使用 pycharm 时,如果输入位于 pycharm 中 - 图形将隐藏在应用程序后面。我在 turtle 中找到了一种方法,但似乎无法将其合并到 graphic.py
这是乌龟:
rootwindow=turtle.getcanvas().winfo_toplevel()
rootwindow.call('wm','attributes','.','-topmost','1')
关于如何在 Zelle 中完成此操作的任何想法?
这是一个简单的例子,当在 pycharm 进入控制台时,图形 window 移到 pycharm 后面而不是留在顶部
from graphics import *
win = GraphWin("MyWindow", 200, 200)
def cir(radius):
cir = Circle(Point(30,30), radius)
cir.setFill("red")
cir.draw(win)
return
radius=int(input("what size of circle?"))
cir(radius)
win.getMouse()
win.close()
您可以使用与 turtle
模块基本相同的方式来完成它,稍微 tricky/hacky 的部分是确定根 window 是什么。至少有几种方法可以做到这一点,但我认为在 tkinter
).
nametowidget()
was the cleanest (note: '.'
is always the root's window name
from graphics import *
win = GraphWin("MyWindow", 200, 200)
rootwindow = win.nametowidget('.')
rootwindow.call('wm', 'attributes', '.', '-topmost', '1')
def cir(radius):
cir = Circle(Point(30,30), radius)
cir.setFill("red")
cir.draw(win)
return
radius = int(input("what size of circle?"))
cir(radius)
win.getMouse()
win.close()
推荐
在我看来,您最好学习如何使用 graphics
模块的 Entry
对象从用户那里获取键盘数据,因为那样您就不需要做任何事情像这样hacky。