我想创建一个模拟桌面背景的tkinter应用程序.我目前的主要问题是把tkinter应用程序放在桌面图标后面.我已经try 过wm_attributesctypes.windll.user32.SetLayeredWindowAttributes,但它仍然将主窗口绘制在桌面图标之上.

我如何才能强制我的tkinter应用程序始终停留在桌面图标后面?(同时仍处于交互状态:d)

对于我试图实现的目标,这是一个小小的目标:

import tkinter as tk
import ctypes

root = tk.Tk()

# Set the window to be behind everything  <-- not working
ctypes.windll.user32.SetLayeredWindowAttributes(root.winfo_id(), 0, 0, 1)
root.wm_attributes('-topmost', False)

# Create a canvas to display the GUI
canvas = tk.Canvas(root)
canvas.pack()

# Add some widgets to the canvas
label = tk.Label(canvas, text="This is a Tkinter screen behind everything.")
label.pack()

# Start the GUI loop
root.mainloop()

推荐答案

这不受支持.

Active Desktop人的生命周期 很短,随着Windows XP的推出,Active Desktop人被永久移除.如今,还没有支持渲染(交互式)桌面背景的界面.

如果你坚持把这件事做完,支持的负担就落在你身上.要做到这一点,你将需要进行一系列反向工程.当您了解需要解决的问题时,您不会认为Python是解决方案的一部分.

Python-3.x相关问答推荐

Pyvis和Networkx:如何根据源或目标使 node colored颜色 不同

如何使用TensorFlow Keras子类化来构建和训练模型

在BaseHTTPRequestHandler中填充和返回列表

我正在try 从 10*3 矩阵中删除随机值并将其变为 10*2 矩阵

在 python 中使用正则表达式在行尾查找特定元素

如何沿单列获取嵌套列表中的唯一值?

如何使用 Selenium 和 Python 作为线程来使用事件(Chrome-Developer-Tools)?

单击图形时 plotly graph_objects 持久性数据

过滤并获取数据框中条件之间的行

导入在不同目录中定义的函数

总结基于条件的值,如果不匹配则保留当前值

通过 requests 库调用 API 获取访问令牌

python用户输入5个偶数并打印最大的

错误:预期语句,发现 py:Dedent

基本 Flask 应用程序未运行(TypeError:模块中缺少必填字段type_ignores)

如何在 Spyder 控制台中使用变量执行 Python 3.3 脚本?

使用 python2 和 python3 创建一个 virtualenv

如何模拟 open(...).write() 而不会出现没有这样的文件或目录错误?

如何从 Python 3 导入 FileNotFoundError?

TypeError:只有整数标量数组可以转换为标量索引