En este artículo veremos cómo hacer una aplicación PyQt5 simple para obtener la dirección IP
Dirección IP: una dirección de Protocolo de Internet es una etiqueta numérica asignada a cada dispositivo conectado a una red informática que utiliza el Protocolo de Internet para la comunicación. Una dirección IP cumple dos funciones principales: identificación de interfaz de host o red y direccionamiento de ubicación.
Módulos requeridos e Instalación:
PyQt5: PyQt es un enlace de Python del kit de herramientas GUI multiplataforma Qt, implementado como un complemento de Python. PyQt es un software libre desarrollado por la firma británica Riverbank Computing.
Requests: Requests le permite enviar requests HTTP/1.1 de forma extremadamente sencilla. No es necesario agregar manualmente strings de consulta a sus URL.
Pasos para la implementación:
1. Cree una ventana
2. Cree un botón y configure su geometría
3. Cree una etiqueta y configure su geometría, borde y alineación
4. Agregue una acción al botón, es decir, cuando se presione el botón, se debe llamar
al método de acción 5. Dentro del método de acción con la ayuda de requests para obtener los datos
6. Filtrar los datos para obtener la dirección IP
7. Mostrar la dirección IP en la pantalla con la ayuda de la etiqueta
A continuación se muestra la implementación.
# importing libraries from PyQt5.QtWidgets import * from PyQt5 import QtCore, QtGui from PyQt5.QtGui import * from PyQt5.QtCore import * import requests import sys class Window(QMainWindow): def __init__(self): super().__init__() # setting title self.setWindowTitle("Python ") # setting geometry self.setGeometry(100, 100, 400, 500) # calling method self.UiComponents() # showing all the widgets self.show() # method for widgets def UiComponents(self): # create push button to perform function push = QPushButton("Press", self) # setting geometry to the push button push.setGeometry(125, 100, 150, 40) # creating label to show the ip self.label = QLabel("Press button to see your IP", self) # setting geometry to the push button self.label.setGeometry(100, 200, 200, 40) # setting alignment to the text self.label.setAlignment(Qt.AlignCenter) # adding border to the label self.label.setStyleSheet("border : 3px solid black;") # adding action to the push button push.clicked.connect(self.get_ip) # method called by push def get_ip(self): # getting data r = requests.get("http://httpbin.org / ip") # json data with key as origin ip = r.json()['origin'] # parsing the data parsed = ip.split(", ")[0] # showing the ip in label self.label.setText(parsed) # setting font self.label.setFont(QFont('Times', 12)) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() window.show() # start the app sys.exit(App.exec())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA