目錄
下一章內(nèi)容
PyQt5的配置
?設(shè)置軟件的快捷啟動(dòng)方式
1.????????用于設(shè)計(jì)界面的程序
2.????????將Qt Designer設(shè)計(jì)出來(lái)的ui文件轉(zhuǎn)化為py文件
3.? ? ? ? 可以把py文件打包成可執(zhí)行的exe文件
4.????????將ico圖片放在qrc文件中,再將qrc文件轉(zhuǎn)換成py文件,用于小工具的圖標(biāo)
快捷使用方法
?設(shè)計(jì)界面
把設(shè)計(jì)的ui界面的ui文件轉(zhuǎn)為py文件
main文件中的代碼
下一章內(nèi)容
用python從零開(kāi)始做一個(gè)最簡(jiǎn)單的小說(shuō)爬蟲(chóng)帶GUI界面(2/3)_木木em哈哈的博客-CSDN博客前一章博客我們講了怎么通過(guò)PyQt5來(lái)制作圖形化界面,并且進(jìn)行一些基本設(shè)置接下來(lái)兩章我們主要講核心爬蟲(chóng)代碼的實(shí)現(xiàn)。https://blog.csdn.net/mumuemhaha/article/details/132457770?spm=1001.2014.3001.5501
PyQt5的配置
配置其他的博主上有教程
建議安裝以下包(最好在你原來(lái)的電腦環(huán)境也就是你電腦的cmd中輸入以下命令,不要在pycharm創(chuàng)建的虛擬環(huán)境下創(chuàng)建,防止項(xiàng)目刪除后軟件打不開(kāi))
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple PyQt5-tools
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple paramiko
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller
?當(dāng)然在pycharm中也要安裝一遍
?之后在設(shè)置中
?選擇工具->外部工具->加號(hào)
?設(shè)置軟件的快捷啟動(dòng)方式
?然后依次新建如下內(nèi)容
1.????????用于設(shè)計(jì)界面的程序
名稱:Qt Designer
工具設(shè)置
程序:C:\Users\你的用戶名\AppData\Local\Programs\Python\你的python版本\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
工作目錄:$FileDir$
2.????????將Qt Designer設(shè)計(jì)出來(lái)的ui文件轉(zhuǎn)化為py文件
名稱:PyUIC
工具設(shè)置:
程序:C:\Users\你的用戶名\AppData\Local\Programs\Python\你的python版本\Scripts\pyuic5.exe
實(shí)參:$FileName$ -o $FileNameWithoutExtension$.py
工具目錄:$FileDir$
3.? ? ? ? 可以把py文件打包成可執(zhí)行的exe文件
名稱:PyInstall
工具設(shè)置:
程序:C:\Users\你的用戶名\AppData\Local\Programs\Python\你的python版本\Scripts\pyinstaller.exe
實(shí)參: -F -w $FileNameWithoutExtension$.py
工作目錄:$FileDir$
4.????????將ico圖片放在qrc文件中,再將qrc文件轉(zhuǎn)換成py文件,用于小工具的圖標(biāo)
名稱:pyrcc
工具設(shè)置:
程序:C:\Users\你的名字\AppData\Local\Programs\Python\你的Python3版本\Scripts\pyrcc5.exe
實(shí)參:$FileName$ -o $FileNameWithoutExtension$.py
工作目錄:$FileDir$
寫(xiě)完后點(diǎn)擊應(yīng)用即可
快捷使用方法
然后你可以點(diǎn)擊左三角的
工具->外部工具中快捷使用
?設(shè)計(jì)界面
?然后我們點(diǎn)擊Qt Designer開(kāi)始設(shè)計(jì)界面
?然后開(kāi)始創(chuàng)建一個(gè)窗口
進(jìn)入后按照自己的喜好創(chuàng)建窗口
?高級(jí)的使用方法不進(jìn)行介紹
我用到的有
label:就是框框中的文字
?line edit:用于獲取輸入的鏈接
?Push Button:用于設(shè)置觸發(fā)按鈕,比如開(kāi)始爬取或者關(guān)閉窗口
?Text Browser:用于輸出程序的結(jié)果(可不加,給用戶看的)
?
?點(diǎn)擊控件后右邊的框框會(huì)顯示是哪一個(gè)控件
建議重新命名一邊名稱,不然會(huì)很難記
?設(shè)計(jì)完成后就可以點(diǎn)擊保存了,默認(rèn)保存到你python項(xiàng)目的根目錄
把設(shè)計(jì)的ui界面的ui文件轉(zhuǎn)為py文件
由于我們?cè)O(shè)置了快捷方式
我們可以非常便捷右鍵ui文件然后執(zhí)行PyUIC工具?
?之后你就可以在項(xiàng)目的文件目錄下找到同名稱的py文件
亦或者你可以執(zhí)行命令
pyuic5 -o 原ui文件名稱 輸出的py文件名稱
編譯出來(lái)的文件大概長(zhǎng)這樣
?文件的代碼就是
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'win.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(679, 485)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.Button_run = QtWidgets.QPushButton(self.centralwidget)
self.Button_run.setGeometry(QtCore.QRect(50, 240, 121, 41))
self.Button_run.setObjectName("Button_run")
self.Button_close = QtWidgets.QPushButton(self.centralwidget)
self.Button_close.setGeometry(QtCore.QRect(220, 240, 121, 41))
self.Button_close.setObjectName("Button_close")
self.label_link = QtWidgets.QLabel(self.centralwidget)
self.label_link.setGeometry(QtCore.QRect(60, 110, 71, 21))
self.label_link.setObjectName("label_link")
self.line_link = QtWidgets.QLineEdit(self.centralwidget)
self.line_link.setGeometry(QtCore.QRect(130, 110, 211, 21))
self.line_link.setObjectName("line_link")
self.text_result = QtWidgets.QTextEdit(self.centralwidget)
self.text_result.setGeometry(QtCore.QRect(370, 110, 291, 321))
self.text_result.setObjectName("text_result")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 679, 26))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "爬蟲(chóng)"))
self.Button_run.setText(_translate("MainWindow", "開(kāi)始爬取"))
self.Button_close.setText(_translate("MainWindow", "關(guān)閉"))
self.label_link.setText(_translate("MainWindow", "目錄鏈接"))
main文件中的代碼
創(chuàng)建一個(gè)文件命名為main.py(用來(lái)存放我們的主程序)
import sys
# PyQt5中使用的基本控件都在PyQt5.QtWidgets模塊中
from PyQt5.QtWidgets import QApplication, QMainWindow
# 導(dǎo)入designer工具生成的login模塊
from win import Ui_MainWindow
import time
而win是我剛剛窗口文件編譯出來(lái)文件Ui_mainWindow是我的類名
(不要一股腦的抄,依葫蘆畫(huà)瓢就行)?
class MyMainForm(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyMainForm, self).__init__(parent)
self.setupUi(self)
if __name__ == "__main__":
# 固定的,PyQt5程序都需要QApplication對(duì)象。sys.argv是命令行參數(shù)列表,確保程序可以雙擊運(yùn)行
app = QApplication(sys.argv)
# 初始化
myWin = MyMainForm()
# 將窗口控件顯示在屏幕上
myWin.show()
# 程序運(yùn)行,sys.exit方法確保程序完整退出。
sys.exit(app.exec_())
合在一起,然后運(yùn)行,就可以看到出現(xiàn)了一個(gè)窗口
但是我們的按鈕沒(méi)有任何作用
接下來(lái)我們就要用函數(shù)綁定按下按鈕的事件
剛剛的函數(shù)中的文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-661427.html
def __init__(self, parent=None):
super(MyMainForm, self).__init__(parent)
self.setupUi(self)
可以變?yōu)檫@個(gè) (意思就是按下Button_close的按鈕觸發(fā)close函數(shù),這個(gè)函數(shù)不用自己定義,按下Button_run按鈕執(zhí)行F_run函數(shù),這個(gè)要我們自己定義了)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-661427.html
def __init__(self, parent=None):
super(MyMainForm, self).__init__(parent)
self.setupUi(self)
self.Button_close.clicked.connect(self.close)
self.Button_run.clicked.connect(self.F_run)
到了這里,關(guān)于用python從零開(kāi)始做一個(gè)最簡(jiǎn)單的小說(shuō)爬蟲(chóng)帶GUI界面(1/3)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!