我不能让窗户按照我的意愿行动和看起来

时间:2019-01-26 18:38:40

标签: python pyqt

我想制作一个密码生成器应用程序。我在这里有此代码,但无法正常工作。

我尝试了一些在Internet上找到的解决方案,但都没有用,它们都使用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 :(得分:0)

尝试一下:

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