【问题标题】:Zelle and Graphics.py - how can I keep the graphic window always on top?Zelle 和 Graphics.py - 如何让图形窗口始终位于顶部?
【发布时间】:2021-05-28 03:11:31
【问题描述】:

使用 graphics.py,我想知道是否有办法让 graphics.py 画布/窗口始终保持在顶部。使用 pycharm 时,如果输入在 pycharm 中 - 图形会隐藏在应用程序后面。我在turtle中找到了一种方法,但似乎无法将其合并到graphic.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()

【问题讨论】:

    标签: python zelle-graphics


    【解决方案1】:

    您可以按照与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 对象从用户那里获取键盘数据,因为这样你就不需要做这样的骇人听闻的事情了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-23
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多