自己修改了代码:实现了自动生成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. unity Texture贴图纹理及相关属性

    Texture资源是Unity3d游戏开发中用途最广泛的资源之一,被引用于诸如界面UI. Mesh模型 .粒子效果等.还有一些特殊的Texture资源,如:Movie Texture:视频资源.Ren ...

  2. VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)

    上一节中鸡啄米讲了MFC异常处理,本节的主要内容是字体CFont类. 字体简介 GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在 ...

  3. VS2012快捷键突然不能用怎么办

    晚上做项目做着做着,就去弄了下键盘配置,可怜的娃娃~~~一下子弄得什么快捷键都不能用了,比如”注释:ctrl+k ctrl+c”;问题纠结了我一个多钟,好在最后结合了网络上各路英雄的idea;解决了问 ...

  4. Jtester+unitils+testng:DAO单元测试文件模板自动生成

    定位 本文适合于不愿意手工编写而想自动化生成DAO单元测试的筒鞋.成果是不能照搬的,但其中的"创建模板.填充内容.自动生成"思想是可以复用的.读完本文,可以了解 Python 读取 ...

  5. linux常用命令:wget 命令

    wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器打断下 ...

  6. Linux配置自动时间同步

    Linux配置自动时间同步时间同步命令:ntpdate -s time.windows.com自动时间同步:让linux从time.windows.com自动同步时间vi /etc/crontab加上 ...

  7. Maven的scope的值

    Maven的依赖范围 在pom.xml文件中,有个元素是scope,用来表示依赖的范围.之所以会有依赖范围,是因为Maven在编译.测试和运行项目时会各自使用一套classpath,依赖范围就是用来控 ...

  8. Django框架----render函数和redirect函数的区别

    render函数和redirect函数的区别: render:只会返回页面内容,但是未发送第二次请求 redirect:发挥了第二次请求,url更新 具体实例说明 render: redirect:

  9. 散列表(HashTable)

    散列表 i. 散列函数 i. 冲突解决 ii. 分离链表法 ii. 开放地址法 iii. 线性探测法 iii. 平方探测法 iii. 双散列 ii. 再散列 ii. 可扩散列 i. 装填因子:元素个数 ...

  10. 20165211 2017-2018-2 《Java程序设计》第1周学习总结

    20165211 丁奕 2017-2018-2 <Java程序设计>第1周学习总结 教材学习内容总结 在本周的学习过程中,我在虚拟机中完成了安装JDK,IDEA,Git,以及Java2实践 ...