1、打开QTdesigner
2、选择Dialog without Buttons,并单击“创建”按钮。
3、拖拽添加PushButton按钮。
4、变更Push Button的文本属性。双击Push Button按钮,输入“生成一个新的密码”
5、拖拽Line Edit生成一个输入框。
6、改变Push Button的字体。在属性栏中选择font属性,选择24号字体,点击“OK”。
7、简单布局。右键单击窗体,选择“布局–>垂直布局”。
8、改变窗体名称。在windowTitle属性上,输入“密码生成小程序”。
9、修改对象名字。将“object”的对象名字改为“PasswordGerate”
10、保存文件。“ctrl+s”对文件进行保存。文件名称保存为“password_generate”。文件的默认格式为:ui。
1、在终端输入:
conda activate mypyqt6
2、找到项目目录,并复制路径:
D:\pycharm\anti\pyqt6\demo02
3、将“ui”格式的文件转化为“py”格式。在终端中输入:
pyuic6 password_generate.ui -o password_generate.py
4、查看新生成的文件password_generate.py
# Form implementation generated from reading ui file 'password_generate.ui'
#
# Created by: PyQt6 UI code generator 6.4.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_PasswordGenerate(object):
def setupUi(self, PasswordGenerate):
PasswordGenerate.setObjectName("PasswordGenerate")
PasswordGenerate.resize(612, 412)
self.verticalLayout = QtWidgets.QVBoxLayout(PasswordGenerate)
self.verticalLayout.setObjectName("verticalLayout")
self.pushButton = QtWidgets.QPushButton(PasswordGenerate)
font = QtGui.QFont()
font.setPointSize(24)
self.pushButton.setFont(font)
self.pushButton.setObjectName("pushButton")
self.verticalLayout.addWidget(self.pushButton)
self.lineEdit = QtWidgets.QLineEdit(PasswordGenerate)
font = QtGui.QFont()
font.setPointSize(24)
font.setBold(False)
self.lineEdit.setFont(font)
self.lineEdit.setObjectName("lineEdit")
self.verticalLayout.addWidget(self.lineEdit)
self.retranslateUi(PasswordGenerate)
QtCore.QMetaObject.connectSlotsByName(PasswordGenerate)
def retranslateUi(self, PasswordGenerate):
_translate = QtCore.QCoreApplication.translate
PasswordGenerate.setWindowTitle(_translate("PasswordGenerate", "密码生成小程序"))
self.pushButton.setText(_translate("PasswordGenerate", "生成一个新的密码"))
1、与password_generate.py同级,建立新的py文件“password_generate_main.py”。
2、编写“password_generate_main.py”代码。
#引入PyQt6模块
from PyQt6.QtWidgets import (
QApplication,QDialog
)
#引入平级的Ui_PasswordGenerate模块
from password_generate import Ui_PasswordGenerate
#引用系统模块
import sys
#创建MyPasswordGenerate类
class MyPasswordGenerate(Ui_PasswordGenerate,QDialog):
#构造父类函数
def __init__(self):
super().__init__()#继承父类
self.setupUi(self)#调用父类Ui_PasswordGenerate的函数setupUi
self.show()#显示窗口
#创建main函数,启动程序
if __name__ == '__main__':
app=QApplication(sys.argv)#程序入口函数
myPasswordGenerate=MyPasswordGenerate()
sys.exit(app.exec())#退出系统
3、运行“password_generate_main.py”,效果如下:
1、完善步骤三中的代码,使其具备信息传递功能。
#引入PyQt6模块
from PyQt6.QtWidgets import (
QApplication,QDialog,QMessageBox
)
#引入平级的Ui_PasswordGenerate模块
from password_generate import Ui_PasswordGenerate
#引用系统模块
import sys
#引入string模块
import string
#引入random随机数模块
import random
#创建MyPasswordGenerate类
class MyPasswordGenerate(Ui_PasswordGenerate,QDialog):
#构造父类函数
def __init__(self):
super().__init__()#继承父类
self.setupUi(self)#调用父类Ui_PasswordGenerate的函数setupUi
self.show()#显示窗口
self.pushButton.clicked.connect(self.new_password)#按钮连接绑定函数new_password
#创建new_password函数
def new_password(self):
words=string.digits+string.ascii_uppercase+string.ascii_lowercase+string.punctuation#生成密码的格式是:数字+大写字母+小写字母+标点符号
words=random.sample(list(words),20)#重写words,使其包含20个字符
password="".join(words)#生成密码
self.lineEdit.setText(password)#将生成的密码传递到lineEdit控件
QMessageBox.information(self,"信息提示","密码生成成功")
#创建main函数,启动程序
if __name__ == '__main__':
app=QApplication(sys.argv)#程序入口函数
myPasswordGenerate=MyPasswordGenerate()
sys.exit(app.exec())#退出系统
1、使用pyinstaller将程序进行打包。命令如下:
pyinstaller -F -w password_generate_main.py
本文通过一个PyQt6的小案例,实际展示了PyQt6的用法。希望对新手学习者有帮助。