La Red de Conocimientos Pedagógicos - Currículum vitae - Python_PyQt5 Getting Started Serie 1: Lectura y escritura de edición de líneas (informática en segundo plano)

Python_PyQt5 Getting Started Serie 1: Lectura y escritura de edición de líneas (informática en segundo plano)

Tomemos, por ejemplo, el cálculo de la distancia entre dos puntos utilizando dos latitudes y longitudes cualesquiera.

Capturas de pantalla generadas por el programa:

#La siguiente es la creación de la interfaz gráfica GUI.

Importar QtCore, QtGui, QtWidgets desde pyqt 5

Desde mathimport *

Clase Ui_MainWindow (objeto):

def setupUi(self , ventana principal):

ventana principal. establecer nombre de objeto(" ventana principal ")

Ventana principal resize(800, 599)

self.centralwidget. = QtWidgets. QWidget(ventana principal)

self .widget central. Establecer nombre de objeto("widget central")

self.label_2 = QtWidgets. QLabel(self.centralwidget)

self etiqueta _ 2 . establecer geometría (Qt core. QRect(70, 90, 41, 16))

self conjunto. nombre del objeto(" etiqueta _ 2 ")

self.label_5 = QtWidgets. QLabel(self.centralwidget)

self etiqueta _ 5 . establecer geometría (Qt core. QRect(70, 150, 41, 9))

self conjunto. nombre del objeto(" etiqueta _ 5 ")

self.label_6 = QtWidgets. QLabel(self.centralwidget)

self etiqueta _ 6 . establecer geometría (Qt core. QRect(50, 230, 41, 9))

self conjunto. nombre del objeto(" etiqueta _ 6 ")

self.label_3 = QtWidgets. QLabel(self.centralwidget)

self .etiqueta _ 3 . establecer geometría (Qt core. QRect(270, 90, 41, 16))

self establecer . nombre del objeto(" etiqueta _ 3 ")

self.label_7 = QtWidgets. QLabel(self.centralwidget)

self etiqueta _ 7 . establecer geometría (Qt core. QRect(270, 150, 41, 9))

self conjunto. nombre del objeto(" etiqueta _ 7 ")

self.lineEdit = QtWidgets. QLineEdit(self.centralwidget)

edición de línea propia (Qt core.

QRect(50, 110, 71, 31))

self.edición de línea. establecer nombre de objeto("edición de línea")

self.lineEdit_2 = QtWidgets. QLineEdit(self.centralwidget)

self .edición de línea _ 2 . conjunto de geometría(Qt core. QRect(50, 170, 71, 31))

self . .set nombre de objeto(" edición de línea _ 2 ")

self.lineEdit_3 = QtWidgets. QLineEdit(self.centralwidget)

self .edición de línea _ 3 . conjunto de geometría(Qt core. QRect(250, 110, 71, 31))

self . establecer nombre de objeto(" edición de línea _ 3 ")

self.lineEdit_4 = QtWidgets. QLineEdit(self.centralwidget)

self .edición de línea _ 4 . conjunto de geometría(Qt core. QRect(250, 170, 71, 31))

self . establecer nombre de objeto(" edición de línea _ 4 ")

self.lineEdit_5 = QtWidgets. QLineEdit(self.centralwidget)

self .edición de línea _ 5 . conjunto de geometría(Qt core. QRect(80, 220, 71, 31))

self . .set nombre de objeto(" edición de línea _ 5 ")

self.pushButton = QtWidgets. Botón q (self. centralwidget)

botón self . (" botón pulsador ")

ventana principal . setcentralwidget(self . centralwidget)

self.menubar = QtWidgets. Barra de menú (ventana principal)

self .establecer geometría(Qt core. QRect(0, 0, 800, 18))

establecer nombre de objeto(". menubar ")

ventana principal . setmenubar(self . menubar)

self. statusbar = QtWidgets.

QStatusBar(ventana principal)

self .establecer nombre de objeto(" barra de estado ")

ventana principal establecebarra de estado(self . barra de estado)

self.retranslateUi(ventana principal)

self. Pulsador pulsado. connect(self.btnshanbing _ click)

QtCore. QMetaObject.connectSlotsByName(ventana principal)

Definir interfaz de retraducción (auto, ventana principal):

_translate = QtCore. QCoreApplication.translate

MainWindow . setwindowtitle(_ traducir(" ventana principal ", " ventana principal "))

self . settext(_ traducir("ventana principal" . , "Longitud"))

self . settext(_ traducir("Ventana principal", "Longitud"))

self . traducir("Ventana principal", "Distancia"))

self etiqueta _ 3 . settext(_ traducir("Ventana principal", "Longitud"))

self . _ 7. settext(_ traducir("Ventana principal", "Longitud"))

botón pulsador . settext(_ traducir("Ventana principal", "Aceptar"))

#La siguiente es la función de ranura de la señal btnshanbing_click.

def btnshanbing_click(self):

# Lo siguiente es leer el contenido del cuadro de texto y convertir el tipo interno en un tipo de punto flotante.

a=float(self.lineEdit.text())

c=float(self.lineEdit_2.text())

b=float(self .lineEdit_3.text())

d=float(self.lineEdit_4.text())

#La siguiente es la fórmula de cálculo para la latitud y la longitud

e =(acos (sin(b * pi/180)* sin(d * pi/180)+cos(c * pi/180-a * pi/180)* cos(b * pi/180)* cos( d * pi/180 ))* 637104

#El siguiente es el resultado del cálculo generado en LineEdit_5, pero debe tenerse en cuenta que el resultado del cálculo debe convertirse a un tipo de carácter; de lo contrario, el programa no se ejecutará.

self.lineEdit_5.setText(str(e))

Programa principal:

Self.lineEdit.text(): Lee el contenido del cuadro de texto. , pero debe convertirse a float(self.lineEdit .text()), de lo contrario no se puede realizar el cálculo

Self.lineEdit_5.setText(str()): el resultado del cálculo generado en otro cuadro de texto debe se convertirá a tipo de carácter; de lo contrario, el programa informará un error

Para resumir: el tipo de retorno de lineEdit.text() es texto

.