学了几个月的python了,突然想做点自己的工具,想起自己以前用QT写C++的GUI的时候,记得用pyqt可以写GUI,就学了一周。把基本的东西都看了一遍,感觉和QT差不多!但是pyqt5 的中文资料少的可怜啊!如果又想学的朋友可以参考下我的这个小工具制作过程!
先看代码
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库,pip install pyinstaller
如果你装的是python3.6需要到github上下载最新的开发版
pyinstaller.exe -w -F –icon=”1.ico” mytest.py
-w 是不会出现黑色的控制台
-F 文件路径
–ico 添加程序的图标
打包完后会出现:
进入dist中就有我们最后生成的工具:
如果想下载好看的图标可以推荐给大家一个好的网站:
http://www.easyicon.net/1116259-language_python_text_icon.html
ps: 如果大佬发现错误,欢迎指正!谢绝喷子!