PyQt5-GUI生成随机生成小工具
自己修改了代码:实现了自动生成SSN,手机号和姓名的功能
import sys from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import * import requests from generator import random_ssn,random_phone_number,random_name class MyTest(QWidget): def __init__(self, parent=None): super(MyTest, self).__init__(parent) self.label = QLabel(self) # self.label.setText("生成SSN") # self.lineEdit = QLineEdit() #self.lineEdit.setText("http://www.baidu.com") self.button_ssn = self.models("SSN",self.random_ssn) self.button_pnumber = self.models("手机号",self.random_number) self.button_name = self.models("姓名",self.random_name) self.text = QTextEdit() #信号于槽 #布局嵌套 wlayout = QVBoxLayout(self) #全局布局 hlayout = QHBoxLayout() #局部布局 vlayout = QVBoxLayout() #局部布局 hlayout.addWidget(self.label) # hlayout.addWidget(self.lineEdit) hlayout.addWidget(self.button_ssn,stretch=10) hlayout.addWidget(self.button_pnumber) hlayout.addWidget(self.button_name) vlayout.addWidget(self.text) wlayout.addLayout(hlayout) #将局部布局加到全局布局中 wlayout.addLayout(vlayout) #添加标题 self.setWindowTitle("生成SSN小工具") #添加图标 self.setWindowIcon(QIcon(r'F:\GitHub\Buy12306\1.png')) def models(self,name,func): self.button = QPushButton(name) self.button.clicked.connect(func) return self.button #槽函数 def random_ssn(self): # url = self.lineEdit.text() # rep = requests.get(url) # rep.encoding = 'utf-8' # html = rep.text for i in range(5): ssn = random_ssn() #将抓取的网页源码加入到textEdit中 #setText()这个函数不能实现 self.text.setPlainText(ssn) def random_number(self): phoneNumber = random_phone_number() self.text.setPlainText(phoneNumber) def random_name(self): name = random_name() self.text.setPlainText(name) if __name__ =="__main__": app = QApplication(sys.argv) demo = MyTest() demo.show() sys.exit(app.exec())
网上copy他人代码,这里借鉴一下:
import sys from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import * import requests class MyTest(QWidget): def __init__(self, parent=None): super(MyTest, self).__init__(parent) self.label = QLabel(self) self.label.setText("网址") self.lineEdit = QLineEdit() #self.lineEdit.setText("http://www.baidu.com") self.button = QPushButton("开始") self.text = QTextEdit() #信号于槽 self.button.clicked.connect(self.getstr) #布局嵌套 wlayout = QVBoxLayout(self) #全局布局 hlayout = QHBoxLayout() #局部布局 vlayout = QVBoxLayout() #局部布局 hlayout.addWidget(self.label) hlayout.addWidget(self.lineEdit) hlayout.addWidget(self.button) vlayout.addWidget(self.text) wlayout.addLayout(hlayout) #将局部布局加到全局布局中 wlayout.addLayout(vlayout) #添加标题 self.setWindowTitle("URL抓取") #添加图标 self.setWindowIcon(QIcon('1.ico')) #槽函数 def getstr(self): url = self.lineEdit.text() rep = requests.get(url) rep.encoding = 'utf-8' html = rep.text #将抓取的网页源码加入到textEdit中 #setText()这个函数不能实现 self.text.setPlainText(html) if __name__ =="__main__": app = QApplication(sys.argv) demo = MyTest() demo.show() sys.exit(app.exec())
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix