#!/usr/bin/env python3 import os import tkinter as tk from tkinter import Entry, Label class App: def __init__(self): self.root = tk.Tk() self.root.title("vim") self.root.attributes('-type', 'dialog') self.create_label() self.create_widget_get_password() self.create_button_ok() def mainloop(self): self.root.mainloop() def __event_get(self, _): print(self.widget.get()) self.root.quit() def create_label(self): label_text = f"[sudo] password for {os.getlogin()}:" user_password = Label(self.root, text = label_text) user_password.grid(row = 1, column = 1) def create_widget_get_password(self): self.widget = Entry(self.root, show="*", width=15) self.widget.grid(row = 1, column = 2) self.widget.focus_set() def create_button_ok(self): btn = tk.Button(self.root, text="OK") btn.bind("", self.__event_get) self.root.bind("", self.__event_get) btn.grid(row = 1, column = 3) if __name__ == "__main__": app = App() app.mainloop()