我一直在寻找解决方案。stackoverflow 上有很多关于这个问题的帖子,这让我走到了这一步,现在我很难过下一步该去哪里。我需要在 root 上使用停靠属性,因为它需要出现在所有其他窗口之上,并且顶部没有栏。splash 属性几乎可以工作,但是当单击其边框位于应用程序后面的屏幕时,其他窗口也可以在其顶部弹出。由于某种原因,下面的代码在树莓派上不起作用,简单对话框出现在根应用程序后面,所以你根本看不到它。
但是,它适用于我的 linux 笔记本电脑。我唯一能想到的是这是一个窗口管理器问题。根据更多帖子的建议,我查看了文件“/etc/X11/default-display-manager”,我的树莓派正在运行使用 lightdm 管理器的默认 raspbian,而我的笔记本电脑使用 gdm3。通过更多的研究,似乎树莓派很难运行 gdm3。我尝试通过在命令窗口中运行“sudo tasksel”来下载 GNOME(我认为是 gdm3),但它仍然遇到了同样的问题。在这一点上,我愿意尝试几乎任何事情。
import tkinter as tk
from tkinter import simpledialog, messagebox
Root = tk.Tk()
Root.attributes('-type', 'dock')
width = Root.winfo_screenwidth()
height = Root.winfo_screenheight() - 30
Root.geometry("%dx%d+0+0" % (width, height))
button = tk.Button(Root, text="exit", command=Root.destroy).pack(pady=20)
Root.deiconify()
Root.lift()
Root.focus_force()
J = tk.simpledialog.askfloat("Input", "Number of points per scan:",parent=Root,minvalue=1000, maxvalue=7000)
Root.mainloop()