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

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

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

【问题讨论】:

  • 什么操作系统?........
  • @Alderven Windows 10
  • 支持者,需要解释一下吗?

标签: python user-interface tkinter


【解决方案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。但我认为这并不重要。
  • 只有在任务管理器中选中“始终在顶部”选项时才有效
猜你喜欢
  • 2020-06-26
  • 2021-12-31
  • 2014-06-19
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
  • 2013-10-09
  • 2019-10-10
  • 1970-01-01
相关资源
最近更新 更多