Utilice Python para crear el rastreador novedoso más simple con interfaz GUI desde cero (1/3)

Tabla de contenido

contenido del próximo capítulo

Configuración de PyQt5

 Establecer el método de inicio directo del software

1. Programas para diseñar interfaces.

2. Convierta el archivo ui diseñado por Qt Designer en un archivo py

3. Puede empaquetar el archivo py en un archivo exe ejecutable.

4. Coloque la imagen ico en el archivo qrc ​​y luego convierta el archivo qrc ​​en un archivo py para el ícono del gadget.

Método de atajo

 interfaz de diseño

Convierta el archivo ui de la interfaz ui diseñada en un archivo py

código en el archivo principal


contenido del próximo capítulo

Utilice Python para crear el rastreador novedoso más simple con interfaz GUI desde cero (2/3 ) Configuración En los dos capítulos siguientes, hablaremos principalmente sobre la implementación del código principal del rastreador. https://blog.csdn.net/mumuemhaha/article/details/132457770?spm=1001.2014.3001.5501

Configuración de PyQt5

Hay tutoriales sobre cómo configurar otros bloggers.

Se recomienda instalar los siguientes paquetes (es mejor ingresar el siguiente comando en el entorno de su computadora original, es decir, el cmd de su computadora, no lo cree en el entorno virtual creado por pycharm, para evitar que el software sea no se puede abrir después de eliminar el proyecto)

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

 Por supuesto, hay que instalarlo nuevamente en pycharm.

 después de eso en la configuración

 Seleccione Herramientas -> Herramientas externas -> Signo más

 Establecer el método de inicio directo del software

 Luego crea el siguiente contenido a su vez.

1. Programas para diseñar interfaces.

名称:Qt Designer
工具设置
    程序:C:\Users\你的用户名\AppData\Local\Programs\Python\你的python版本\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
    工作目录:$FileDir$

2. Convierta el archivo ui diseñado por Qt Designer en un archivo py

名称:PyUIC
工具设置:
    程序:C:\Users\你的用户名\AppData\Local\Programs\Python\你的python版本\Scripts\pyuic5.exe
    实参:$FileName$ -o $FileNameWithoutExtension$.py 
    工具目录:$FileDir$

3. Puede empaquetar el archivo py en un archivo exe ejecutable.

名称:PyInstall 
工具设置:
    程序:C:\Users\你的用户名\AppData\Local\Programs\Python\你的python版本\Scripts\pyinstaller.exe
    实参: -F -w  $FileNameWithoutExtension$.py
    工作目录:$FileDir$

4. Coloque la imagen ico en el archivo qrc ​​y luego convierta el archivo qrc ​​en un archivo py para el ícono del gadget.

名称:pyrcc 
工具设置:
    程序:C:\Users\你的名字\AppData\Local\Programs\Python\你的Python3版本\Scripts\pyrcc5.exe
    实参:$FileName$ -o $FileNameWithoutExtension$.py 
    工作目录:$FileDir$

Después de escribir, haga clic en Aplicar

Método de atajo

Luego puedes hacer clic en el triángulo izquierdo.

Herramientas->Herramientas externas para uso rápido

 interfaz de diseño

 Luego hacemos clic en Qt Designer para comenzar a diseñar la interfaz.

 Luego comience a crear una ventana.

Después de ingresar, crea una ventana según tus preferencias.

 No se introducen métodos de uso avanzados.

He usado

etiqueta: el texto en el cuadro

 edición de línea: enlace para obtener información

 Botón pulsador: se utiliza para configurar el botón de activación, como comenzar a rastrear o cerrar la ventana.

 Explorador de texto: se utiliza para generar los resultados del programa (opcional, para que el usuario los vea)

 

 Después de hacer clic en el control, el cuadro de la derecha mostrará de qué control se trata.

Se recomienda cambiar el nombre de un lado del nombre; de ​​lo contrario, será difícil recordarlo.

 Una vez completado el diseño, puede hacer clic en Guardar, que se guarda en el directorio raíz de su proyecto de Python de forma predeterminada.

Convierta el archivo ui de la interfaz ui diseñada en un archivo py

Desde que configuramos el atajo

Podemos fácilmente hacer clic derecho en el archivo ui y ejecutar la herramienta PyUIC 

 Luego puede encontrar el archivo py con el mismo nombre en el directorio de archivos del proyecto.

O puedes ejecutar el comando

pyuic5 -o 原ui文件名称 输出的py文件名称

El archivo compilado se ve así

 El código del archivo es

# -*- 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", "爬虫"))
        self.Button_run.setText(_translate("MainWindow", "开始爬取"))
        self.Button_close.setText(_translate("MainWindow", "关闭"))
        self.label_link.setText(_translate("MainWindow", "目录链接"))

código en el archivo principal

Cree un archivo llamado main.py (usado para almacenar nuestro programa principal)

import sys
# PyQt5中使用的基本控件都在PyQt5.QtWidgets模块中
from PyQt5.QtWidgets import QApplication, QMainWindow
# 导入designer工具生成的login模块
from win import Ui_MainWindow
import time

Y win es el archivo de ventana que acabo de compilar. El archivo Ui_mainWindow es el nombre de mi clase.

(No lo copie todo de una vez, simplemente siga la calabaza para sacar una cucharada) 

class MyMainForm(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyMainForm, self).__init__(parent)
        self.setupUi(self)


if __name__ == "__main__":
    # 固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
    app = QApplication(sys.argv)
    # 初始化
    myWin = MyMainForm()
    # 将窗口控件显示在屏幕上
    myWin.show()
    # 程序运行,sys.exit方法确保程序完整退出。
    sys.exit(app.exec_())

Juntos, y luego ejecutar, puedes ver que aparece una ventana.

pero nuestro botón no hace nada

A continuación usaremos la función para vincular el evento de presionar el botón

solo en la funcion

    def __init__(self, parent=None):
        super(MyMainForm, self).__init__(parent)
        self.setupUi(self)

Se puede cambiar a esto (lo que significa que presionar el botón Button_close activa la función de cierre, esta función no necesita estar definida por sí misma, presione el botón Button_run para ejecutar la función F_run, que debemos definir nosotros mismos)

    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)

Supongo que te gusta

Origin blog.csdn.net/mumuemhaha/article/details/132394257
Recomendado
Clasificación