自己修改了代码:实现了自动生成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. MFC用串行化实现文档存储和读取功能

    在面向对象的程序设计中,一般都是用二进制文件来保存文档资料.在VC++中控制和使用文件流的方法很多,MFC程序设计中常用的有两种方法:用CFile对象存储和读取文件:利用串行化存取文件.其中用CFil ...

  2. HashMap、HashTable、ConcurrentHashMap的区别

    一.相关概念 1.Map的概念 javadoc中对Map的解释如下: An objectthat maps keys to values . Amap cannot contain duplicate ...

  3. 并发写Btree原理剖析

    OceanBase 0.4的UpdateServer存储引擎使用了一棵可以多线程并发修改的BTree,读写不冲突,由颜然 开发.线上运行稳定. UpdateServer存储引擎采用类leveldb的方 ...

  4. Python3 简明教程

    Python是由吉多·范罗苏姆(Guido Van Rossum)在90年代早期设计.它是如今最常用的编程 语言之一.它的语法简洁且优美,几乎就是可执行的伪代码. 注意:这篇教程是特别为Python3 ...

  5. emoj表情过滤

    用法:  isEmojiCharacter(input_value)   //  提交时候校验.true:emoj表情   undefined:无   if(isEmojiCharacter(val) ...

  6. 2018-2019-2 20165209 《网络对抗技术》Exp6:信息搜集与漏洞扫描

    2018-2019-2 20165209 <网络对抗技术>Exp6:信息搜集与漏洞扫描 1 基础问题回答和实验内容 1.1基础问题回答 (1)哪些组织负责DNS,IP的管理. Intern ...

  7. Django国际化和本地化

    把django的这篇文档看了一遍,基本弄懂了,讲的也挺详细的 https://docs.djangoproject.com/en/1.6/topics/i18n/ 首先是国际化和本地化概念: 1,国际 ...

  8. 20145127《java程序设计》第二次实验

    一.实验内容及其步骤 1.要想对某个程序进行单元测试,我们先是在eclipse中建立了一个新的项目,项目的名字是TDDDmeo.并在这个新的项目里右键单击创建一个source floder.并将flo ...

  9. [noip模拟题]合理种植

    [问题描述] 大COS在氯铯石料场干了半年,受尽了劳苦,终于决定辞职.他来到表弟小cos的寒树中学,找到方克顺校长,希望寻个活干. 于是他如愿以偿接到了一个任务…… 美丽寒树中学种有许多寒树.方克顺希 ...

  10. 把json的字符串变为json对象

    如{"tag":"sendcode","data":{"phone":"18880488738"}} ...