Я не могу сделать окно, чтобы действовать и смотреть, как я хочу - PullRequest
0 голосов
/ 26 января 2019

Я хочу сделать приложение генератора паролей.у меня есть этот код здесь, но он не работает должным образом.

Я пробовал некоторые решения, которые я нашел в Интернете, но ни одно из них не работает, все они используют sys library , котораяЯ не хочу использовать.

from PyQt5.QtWidgets import *
import random

app = QApplication([])
button = QPushButton('Generate password')
def on_button_clicked():
    alert = QMessagebog()
    alert.setText(password)
    alert.exec_()
button.clicked.connect(on_button_clicked)
button.show()
app.exec_()

chars = 'abcdefghigklmnopqrstuvwxyz123456789'

lenght = int(input('Choose lenght: '))

password=''

for c in range(lenght):
 password += random.choice(chars)
print(password)

Я ожидаю, что программа откроет окно с кнопкой, и когда кнопка нажата, она отобразит сгенерированный пароль в текстовом поле в том же окне.

1 Ответ

0 голосов
/ 26 января 2019

Попробуйте:

from PyQt5.QtWidgets import *
import random

app    = QApplication([])

w = QWidget()
s = QSpinBox()
s.setRange(7, 20)
button = QPushButton('Generate password')
lay = QVBoxLayout(w)
lay.addWidget(s)
lay.addWidget(button)

def on_button_clicked(): 
    chars = 'abcdefghigklmnopqrstuvwxyz123456789'

#    lenght = int(input('Choose lenght: '))
    lenght = s.value() 

    password = ''
    for c in range(lenght):
        password += random.choice(chars)

    alert = QMessageBox()                           # QMessagebog()
    alert.setText(password)
    alert.exec_()

w.show()

button.clicked.connect(on_button_clicked)

app.exec_()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...