桌面类鹅程序

2024-05-16 18:01:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试创建一个类似于桌面goose的python程序,它是一个在屏幕上自由移动的小部件

首先,我尝试用tkinter和makea transparent window创建一个窗口 使用一个字符的PNG图片,然后使用win32gui或任何其他允许我这样做的库移动窗口。 但是首先,tkinter透明窗口不起作用,因为小部件继承了透明性,所以我无法显示PNG。 然后我很难找到任何win32gui函数来移动窗口,我只是找到了一些可以调整窗口大小的东西

这两项任务中有我能做的吗


Tags: 函数程序屏幕png部件tkinter图片window
1条回答
网友
1楼 · 发布于 2024-05-16 18:01:19

您可以使用透明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(...)移动根窗口

相关问题 更多 >