помогите пожалуйста доделать приложение рандомайзер паролей с помощью библиотеки tkinter. я не могу вывести пароль в окно мне PyCharm выдаёт ошибку типо нет такой переменной IntVar.
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import random from tkinter import * root = Tk() # доступные символы chars = '+-/*!&$#?=@<>abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' root.title('рандомайзер паролей') root.geometry('375x500') value = IntVar() h = Entry(textvariable=value) z = Label(text='введите количество символов в пароле') b = Button(text='далее') t = Label(text='пароль: ', textvariable=value) z.pack() h.pack() b.pack() var = t.pack def test(): for i in range(1): password = '' for k in range(value): password += random.choice(chars) print(password) b.bind('<Button-1>', test) root.mainloop() |
@limnikita18 Вы используете IntVar
как value
в качестве переменной для хранения значения, введенного в Entry. Но value
у вас объявлена как IntVar
, а не StringVar
. Чтобы вывести результат в окно, вы должны использовать StringVar
:
1 2 3 |
value = StringVar() # ... t = Label(text='пароль: ', textvariable=value) |
И в функции test
:
1
|
value.set(password)
|