我一直在尝试创建一个类似于桌面鹅的python程序,在小部件可以在屏幕上自由移动的方面。
首先,我尝试用tkinter创建一个窗口,并用PNG的角色图片制作a transparent window,然后用win32gui或任何其他允许我这样做的库移动窗口。但首先,tkinter透明窗口的东西不起作用,因为小部件继承了透明度,所以我无法显示PNG。然后我很难找到任何可以让我移动窗口的win32gui函数,我只是找到了可以让我调整它们大小的东西。
有没有什么方法可以让我完成这两个任务中的任何一个?
发布于 2020-10-15 12:35:27
您可以使用透明PNG图像创建透明窗口,如下所示:
import tkinter as tk
# select a color as the transparent color
TRNAS_COLOR = '#abcdef'
root = tk.Tk()
root.overrideredirect(1)
root.attributes('-transparentcolor', TRNAS_COLOR)
image = tk.PhotoImage(file='/path/to/image.png')
tk.Label(root, image=image, bg=TRNAS_COLOR).pack()
# support dragging window
def start_drag(event):
global dx, dy
dx, dy = event.x, event.y
def drag_window(event):
root.geometry(f'+{event.x_root-dx}+{event.y_root-dy}')
root.bind('<Button-1>', start_drag)
root.bind('<B1-Motion>', drag_window)
root.mainloop()然后您可以使用root.geometry(...)来移动根窗口。
https://stackoverflow.com/questions/64364296
复制相似问题