PyQt5簡單小工具製作步驟:
阿新 • • 發佈:2019-01-10
學了幾個月的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中就有我們最後生成的工具:
ps: 如果大佬發現錯誤,歡迎指正!謝絕噴子!