自己修改了代码:实现了自动生成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())

打包 --- pyinstaller.exe -w -F  mytest.py

PyQt5-GUI生成随机生成小工具的更多相关文章

  1. WPF根据Oracle数据库的表,生成CS文件小工具

    开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...

  2. 利用Tkinter做的自动生成JSONSchema的小工具

    前面讲到可以使用JSONSchema做json数据校验, 但是每个接口数据都手动写jsonschema太痛苦了, 就写了个小脚本,可以直接复制接口文档的mock数据然后生成一个简单的jsonschem ...

  3. android生成sdk.jar 小工具

    net.sf.fjep.fatjar_0.0.31.jar 生成jar的工具 把这个net.sf.fjep.fatjar_0.0.31.jar到Eclipse的plugins中,从启Eclipse.点 ...

  4. 为Github的README.md生成目录的小工具

    1 概述 因为Github的README.md文件[TOC]不生效,因此封装了一个别人已封装好的JAR包供大家使用. 2 使用方法 用Java做的,只需要JDK11以上的环境: java -jar t ...

  5. Python3+PYQT5 实现并打包exe小工具(2)

    前言:前篇已经通过python代码实现了逻辑,传送门:https://www.cnblogs.com/jc-home/p/14447850.html 现在后篇记录的是打包成exe的方式给项目其他同事使 ...

  6. Python3+PYQT5 实现并打包exe小工具(1)

    前言: 由于项目原因,配置测试环境与正式环境切换频率很高,固写了一键切换环境的工具.用于记录. 实现逻辑: 1.读取注册表中客户端的安装目录,把固定的环境配置文件添加到固定目录下实现配置测试环境: 2 ...

  7. JSON生成c#类代码小工具

    JSON生成c#类代码小工具 为什么写这么个玩意 最近的项目中需要和一个服务端程序通讯,而通讯的协议是基于流行的json,由于是.net,所以很简单的从公司代码库里找到了Newtonsoft.dll( ...

  8. .net生成随机字符串

    生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// &l ...

  9. Java生成验证码小工具

    无意中看到一个生成简易验证码的小工具类(保存学习): 工具类代码: import java.awt.BasicStroke; import java.awt.Color; import java.aw ...

随机推荐

  1. UVA 475

    /* 通过这题 学会了 两个词组 immediately to the left 是左邻的意思 immediately to the right 这个是右邻的意思 */ #include <io ...

  2. mysql数据安装问题汇总

    1.mysql安装冲突:conflicts with file from package 看到“conflicts”,是产生冲突了,文件“/usr/share/mysql/charsets/*”需要M ...

  3. Linux基础命令---ckconfig

    chkconfig 启动或者关闭系统服务,设置服务的运行级别,该指令并不会立刻启动或者停止服务,而是在开机的时候发生效果. chkconfig提供了一个简单的命令行工具,用于维护/etc/rc[0-6 ...

  4. POI Excel文件的读取与写入

    1. 创建目录 if(!(new File(path).isDirectory())){ new File(path).mkdirs();} 2. 读取Excel文件,并进行写入操作 Workbook ...

  5. ELK学习笔记之ELK分析syslog日志

    0x00 配置FIlebeat搜集syslog并发送至 #配置 mv /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak vim /et ...

  6. 《网络攻防》实验五:MSF基础应用

    IE浏览器渗透攻击--MS11050安全漏洞 实验准备 1.两台虚拟机,其中一台为kali,一台为Windows Xp Professional(两台虚拟机可以相互间ping通). 2.亚军同学的指导 ...

  7. linux内核分析 第18章读书笔记

    十八章 调试 一.内核调试概述 1.需要面对的 一个确定的bug 一个藏匿bug的内核版本 相关的内核代码的知识和运气 2.艰难的调试工作 重现bug很困难:大部分bug通常都不是行为可靠而且定义明确 ...

  8. Spring Aop的理解和简单实现

    1.AOP概念 所说的面向切面编程其实就是在处理一系列业务逻辑的时候这一系列动作看成一个动作集合.比如连接数据库来说: 加载驱动-----获取class--------获取连接对象-------访问数 ...

  9. PMBOK十大知识领域是什么?

    PMBOK十大知识领域是:整合管理.范围管理.时间管理.成本管理.质量管理.人力资源管理.沟通管理.风险管理.采购管理.干系人管理. 各用一句话概括项目管理知识体系十大知识领域: 1.整合管理:其作用 ...

  10. [BZOJ1497]最大获利

    Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一 ...