防止窗口最小化或关闭[关闭]

Posted

技术标签:

【中文标题】防止窗口最小化或关闭[关闭]【英文标题】:Preventing window from minimizing or closing [closed] 【发布时间】:2019-07-31 09:42:28 【问题描述】:

我想创建一些用户每次登录机器时显示的屏幕。他需要插入他的凭据和登录原因,然后才能关闭窗口。我正在考虑使用 tkinker,但我可以找到如何锁定它以防止关闭或最小化的信息。

编辑:请注意,我不是在问如何隐藏按钮,我想通了。我想防止最小化例如:点击不同的窗口。

【问题讨论】:

什么操作系统?........ @Alderven Windows 10 支持者,需要解释一下吗? 【参考方案1】:

tkinter 绝对可以做到:

import tkinter as tk

LOGIN = 'admin'
PWD = '12345'


def prevent_exit():
    pass


def login():
    if login_entry.get() == LOGIN and pwd_entry.get() == PWD and reason_entry.get():
        window.quit()


window = tk.Tk()
window.attributes('-fullscreen', True)
window.attributes('-topmost', True)
window.protocol('WM_DELETE_WINDOW', prevent_exit)

login_label = tk.Label(window, text='Login')
login_label.grid(column=0, row=0)

login_entry = tk.Entry(window)
login_entry.grid(column=1, row=0)

pwd_label = tk.Label(window, text='Password')
pwd_label.grid(column=0, row=1)

pwd_entry = tk.Entry(window, show='*')
pwd_entry.grid(column=1, row=1)

reason_label = tk.Label(window, text='Reason')
reason_label.grid(column=0, row=2)

reason_entry = tk.Entry(window)
reason_entry.grid(column=1, row=2)

send_emails_button = tk.Button(window, text='Login', command=login)
send_emails_button.grid(column=0, row=3, columnspan=2)

tk.mainloop()

这个全屏窗口不能关闭或最小化,它总是在最上面:

【讨论】:

不过,任务管理器并不关心-topmost,所以你可以切换到任务管理器并关闭这个窗口。 @CommonSense 实际上你不能。 Tkinter 窗口将始终位于顶部。 是的,我可以,即使是在 win7 上。上次更新win系统封面,关键词是:任务管理器永远在最前面。例如:检查this。但我认为这并不重要。 只有在任务管理器中选中“始终在顶部”选项时才有效

以上是关于防止窗口最小化或关闭[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

窗口最小化时保留 HTML 页面的定位[关闭]

电脑上不管开啥窗口最小化,关闭都会卡在屏幕上。

怎么用键盘直接关闭窗口

Xcode 和 Swift - 没有标题栏但有关闭、最小化和调整大小按钮的窗口

远程登陆最小化或关闭 模拟键盘操作失效

怎么用键盘关闭网页?