PyQt5: aplicación GUI para obtener la dirección IP

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *