问题描述
使用 graphics.py,我想知道是否有办法将 graphics.py 画布/窗口一直保持在顶部。使用 pycharm 时,如果输入在 pycharm 中 - 图形将隐藏在应用程序后面。我在乌龟中找到了一种方法,但似乎无法将其合并到 graphics.py
这是乌龟:
rootwindow=turtle.getcanvas().winfo_toplevel()
rootwindow.call('wm','attributes','.','-topmost','1')
有什么想法可以在 Zelle's 中实现这一点吗?
这里有一个简单的例子,在pycharm中进入控制台时,图形窗口移动到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
模块基本相同的方式进行操作,稍微棘手的部分是确定根窗口是什么。至少有几种方法可以做到这一点,但我认为使用通用小部件方法 nametowidget()
是最干净的(注意:'.'
始终是 tkinter
中根的 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
对象从用户那里获取键盘数据,因为这样您就不需要做一些像这个。