有人用Python编写了一个非常简单的“paint”程序,我想稍微修改一下。我的一些问题是。如何实现这个程序的旋转功能?我希望能够将程序以90度表示的窗口旋转到右侧。这可能吗?也可以实现一个功能从窗口中删除边框。 (这是我正在谈论的gui窗口)。Python Tkinter旋转窗口,右转
from Tkinter import *
"""paint.py: not exactly a paint program.. just a smooth line drawing demo."""
b1 = "up"
xold, yold = None, None
def main():
root = Tk()
drawing_area = Canvas(root)
drawing_area.pack()
drawing_area.bind("<Motion>", motion)
drawing_area.bind("<ButtonPress-1>", b1down)
drawing_area.bind("<ButtonRelease-1>", b1up)
root.mainloop()
def b1down(event):
global b1
b1 = "down" # you only want to draw when the button is down
# because "Motion" events happen -all the time-
def b1up(event):
global b1, xold, yold
b1 = "up"
xold = None # reset the line when you let go of the button
yold = None
def motion(event):
if b1 == "down":
global xold, yold
if xold is not None and yold is not None:
event.widget.create_line(xold,yold,event.x,event.y,smooth=TRUE)
# here's where you draw it. smooth. neat.
xold = event.x
yold = event.y
if __name__ == "__main__":
main()
你确定这是不可能的Linux呢?可以在Linux中为几个程序旋转窗口。一个例子是mplayer,如果你从终端用'mplayer rotate = 1'启动程序,整个窗口将向右旋转90度,而操作系统中的其他所有内容保持不变。 – 2014-10-09 08:21:00
嗯。我确信的是,库手册中的当前tkinter章节不包含'rotate',并且pydoc生成的函数签名页面仅包含'rotate'作为Canvas.postscript的参数。所以我确信tkinter不能独立旋转其中一个窗口。 – 2014-10-10 17:21:06