aus*_*der 2 python tk-toolkit tkinter
我在一个更大的脚本中包含了条件密码捕获。代码如下所示:
if thing: # found token, don't need password
do stuff
else: # no token, get password in popup
try:
import tkinter as tk
import tkinter.simpledialog
tk.Tk().withdraw()
passwd = tkinter.simpledialog.askstring("Password", "Enter password:", show="*")
return passwd
Run Code Online (Sandbox Code Playgroud)
从功能上来说还不错,但我的大多数用户都使用分辨率为 3840x1600 的显示器,因此当左上角弹出对话框时很容易错过。
是否有一种简单的方法来覆盖 simpledialog 类以告诉它出现在监视器上的某个 X/Y 处,或者是我构建完整的唯一选择mainloop()?
因此,当左上角弹出对话框时,很容易错过。
如果您指定可选参数parent,对话框将出现在窗口中间并在内部获得焦点。确保您的窗口已映射通过.update_idletasks()以获得相应的坐标。您也可以考虑使窗口透明而不是退出。
import tkinter as tk
import tkinter.simpledialog
def ask_pw():
pw = tkinter.simpledialog.askstring("Password",
"Enter password:",
show="*",
parent=root)
root = tk.Tk()
root.geometry('250x250+500+500')
root.update_idletasks()
ask_pw()
#root.withdraw()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2554 次 |
| 最近记录: |