小编Mar*_*ito的帖子

Python Tkinter将画布坐标转换为窗口坐标

有没有办法将画布坐标转换为Tkinter中的窗口坐标?

这与从窗口到画布坐标转换相反,如下所示:

x = canvas.canvasx(event.x)
Run Code Online (Sandbox Code Playgroud)

提前致谢.

python tkinter coordinate-systems tkinter-canvas

7
推荐指数
1
解决办法
5309
查看次数

根据"grid_location"方法,按钮有自己的坐标系吗?

我正在尝试使用Tkinter中grid_location网格几何管理器中的方法,但似乎我做错了.

这是我的代码:

from tkinter import * 


root = Tk()

b=Button(root, text="00")
b.grid(row=0, column=0)
b2=Button(root, text="11")
b2.grid(row=1, column=1)
b3=Button(root, text="22")
b3.grid(row=2, column=2)
b4=Button(root, text="33")
b4.grid(row=3, column=3)
b5=Button(root, text="44")
b5.grid(row=4, column=4)

def mouse(event):
    print(event.x, event.y)
    print(root.grid_location(event.x, event.y))

root.bind("<Button-1>", mouse)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

当我在按钮外面单击时,它可以工作,但是当我在任何按钮内部单击时,似乎每个按钮都有自己的坐标系.因此,每个按钮都在(0,0)单元格上,尽管在代码中,它们位于常规网格上.

python grid tkinter python-3.x

5
推荐指数
1
解决办法
4283
查看次数

pydev语法突出显示python内置

有没有办法让Eclipse/PyDev突出显示Python 内置函数

例如,Python IDLE突出显示int(),list()但PyDev没有突出显示.

我正在使用Eclipse 3.7.1和PyDev 2.2.3.

python syntax-highlighting pydev

5
推荐指数
1
解决办法
901
查看次数

python tkinter使用PIL显示动画GIF

有没有办法使用Python Image Library在Tkinter中显示动画GIF?

我认为ImageSequence模块是这样做的方法,但我不知道如何使用它,如果可能的话.

第一个问题是,是否有任何简单的方法.例如:使用PIL和ImageSequence加载GIF,然后使用它在Tkinter窗口上绘制它,ImageTk.PhotoImage它将被设置为动画.

或者我是否必须自己设置一个函数,使用该after方法或类似的方法time.sleep循环遍历GIF帧并在tkinter窗口上绘制它们?

第二个问题:即使我必须创建一个循环GIF帧的函数,ImageSequence模块应该这样做还是PIL有另一个模块呢?

我正在使用Python 3.1和PIL私有端口,在本主题中指出.

python tkinter animated-gif python-imaging-library

4
推荐指数
1
解决办法
7049
查看次数

Python Tkinter - 一段时间后隐藏窗口小部件

我想绘制一个小部件(在这个例子中,一个画布),然后在一段时间后删除它.就像显示然后被删除的消息一样,只是为了让用户可以阅读它,但是没有必要点击"确定"或类似的东西来删除消息.

这是一个示例代码.

from tkinter import*

root = Tk()

canvas_1 = Canvas(root, width = 300, height = 300, bg = 'white')
canvas_1.grid(column = 0, row = 0)

canvas_2 = Canvas(canvas_1, width = 200, height = 200, bg = 'blue')
canvas_2.place(x = 50, y = 50)

canvas_1.after(1000, canvas_2.place_forget())

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

问题是,after()无论何时在代码中调用它,tkinter似乎都会在其他所有方法之前运行该方法.结果是canvas_2永远不会出现.

我试过了,time.sleep()但在这种情况下似乎以同样的方式工作.

提前致谢.

python tkinter

4
推荐指数
1
解决办法
1910
查看次数

Python Tkinter canvas.xview 单元

在“单位”(如何what)从Tkinter的画布滚动方法xview(SCROLL, step, what)yview(SCROLL, step, what)界定?它是以像素为单位定义的吗?是否可以更改它(例如,滚动速度较慢)?

有关更好的上下文,请参阅此处的代码。

提前致谢。

python scroll tkinter

3
推荐指数
2
解决办法
7922
查看次数