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())

打包 --- pyinstaller.exe -w -F mytest.py
PyQt5-GUI生成随机生成小工具的更多相关文章
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 利用Tkinter做的自动生成JSONSchema的小工具
前面讲到可以使用JSONSchema做json数据校验, 但是每个接口数据都手动写jsonschema太痛苦了, 就写了个小脚本,可以直接复制接口文档的mock数据然后生成一个简单的jsonschem ...
- android生成sdk.jar 小工具
net.sf.fjep.fatjar_0.0.31.jar 生成jar的工具 把这个net.sf.fjep.fatjar_0.0.31.jar到Eclipse的plugins中,从启Eclipse.点 ...
- 为Github的README.md生成目录的小工具
1 概述 因为Github的README.md文件[TOC]不生效,因此封装了一个别人已封装好的JAR包供大家使用. 2 使用方法 用Java做的,只需要JDK11以上的环境: java -jar t ...
- Python3+PYQT5 实现并打包exe小工具(2)
前言:前篇已经通过python代码实现了逻辑,传送门:https://www.cnblogs.com/jc-home/p/14447850.html 现在后篇记录的是打包成exe的方式给项目其他同事使 ...
- Python3+PYQT5 实现并打包exe小工具(1)
前言: 由于项目原因,配置测试环境与正式环境切换频率很高,固写了一键切换环境的工具.用于记录. 实现逻辑: 1.读取注册表中客户端的安装目录,把固定的环境配置文件添加到固定目录下实现配置测试环境: 2 ...
- JSON生成c#类代码小工具
JSON生成c#类代码小工具 为什么写这么个玩意 最近的项目中需要和一个服务端程序通讯,而通讯的协议是基于流行的json,由于是.net,所以很简单的从公司代码库里找到了Newtonsoft.dll( ...
- .net生成随机字符串
生成随机字符串的工具类: /// <summary> /// 随机字符串工具类 /// </summary> public class RandomTools { /// &l ...
- Java生成验证码小工具
无意中看到一个生成简易验证码的小工具类(保存学习): 工具类代码: import java.awt.BasicStroke; import java.awt.Color; import java.aw ...
随机推荐
- 改变 select下拉框 样式
select{ outline: none; text-indent: 10px; height: 45px; line-height: 45px; width: 100%; border:1px s ...
- sql when null 判断
Sql Server 中使用case when then 判断某字段是否为null,和判断是否为字符或数字时的写法不一样,如果不注意,很容易搞错 错误方法: CASE columnName WHEN ...
- python getctime() 文件最后一次的改变时间
Return the metadata change time of a file,reported by os.stat() def mm(): file_name=r'c:\temp.txt' f ...
- 【转】Java中Synchronized的用法
<编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程>一文详细讲述了线程.进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础.本文将接着讲一下Java线程同步中的一 ...
- QEvent postEvent/sendEvent
可以自訂事件類型,最簡單的方式,是透過QEvent::Type指定事件類型的常數值,在建構QCustomEvent時作為建構引數並透過postEvent()傳送事件,例如: const QEvent: ...
- 9大行为导致Java程序员薪资过低, 你有几个?
Java程序员薪水有高有低,有的人一个月可能拿30K.50K,有的人可能只有2K.3K.同样有五年工作经验的Java程序员,可能一个人每月拿20K,一个拿5K.是什么因素导致了这种差异?本文整理导致J ...
- 如何写出一个让人很难发现的bug?
程序员的日常三件事:写bug.改bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含bug. 那么如何写出一个让(坑)人(王)很(之)难(王)发现的bug呢? - 1 -新手开发+ ...
- ELK学习笔记之ElasticSearch的索引详解
0x00 ElasticSearch的索引和MySQL的索引方式对比 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄 ...
- 什么是IO多路复用?Nginx的处理机制
先来说一下什么是IO复用? IO复用解决的就是并发行的问题,比如多个用户并发访问一个WEB网站,对于服务端后台而言就会产生多个请求,处理多个请求对于中间件就会产生多个IO流对于系统的读写.那么对于IO ...
- CentOS7.3防火墙firewalld简单配置
今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了, 后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...