python - 我不能让窗户按我的意愿行事
问题描述
我想制作一个密码生成器应用程序。我这里有这段代码,但它不能正常工作。
我已经尝试了一些我在互联网上找到的解决方案,但它们都不起作用,它们都使用我不想使用的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)
我希望程序打开一个带有按钮的窗口,当单击该按钮时,它将在同一窗口的文本字段中显示生成的密码。
解决方案
试试看:
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_()
推荐阅读
- django - 使用嵌套模式时如何区分模板中的 Django 消息?
- javascript - 如何检索 Firebase 数据库中的特定数据?
- php - 将Foogallery插件更新到版本1.4.31后出现致命错误-在WordPress 4.9.8上运行
- postgresql - 日期范围内的天数
- php - PHP – 在 foreach 循环中对具有相同 ID 的输出进行分组
- javascript - 来自嵌套 for 循环的 TypeScript 中断开关/案例
- r - 结构()函数中的行名称
- vue.js - MiniCssExtractPlugin 无法在节点模块内加载 css 文件
- python - Python:在不使用循环的情况下查找二进制数据类型中每个 1 的索引的最快方法
- flask - flask apscheduler 启动一次但运行多次