En este artículo veremos cómo podemos crear un formulario de usuario en PyQt5. Un formulario de usuario es básicamente un cuadro de diálogo que hace que la entrada de datos del usuario sea más controlable y fácil de usar para el usuario. A veces, al crear una aplicación de interfaz de usuario grande, es necesario crear un formulario de usuario para obtener información esencial.
Pasos de implementación:
1. Cree una clase de ventana que herede QDialog
2. Agregue el título de la ventana y configure su geometría
3. Cree un objeto QGropBox
4. Cree una edición de línea para obtener el nombre, el cuadro giratorio para obtener la edad y el cuadro combinado para seleccionar el grado
5. Cree un método createForm que creará un formulario
6. Dentro del método de creación de formulario, cree un diseño de formulario y agregue filas
7. Cada fila debe tener una etiqueta y el nombre de ejemplo del método de entrada etiqueta y edición de línea para entrada, de manera similar etiqueta para grado y edad y cuadro combinado y cuadro de giro para la entrada.
8. Cree un QDialogButtonBox para el estado Aceptar y Cancelar
9. Agregue una acción al botón para aceptar y rechazar
10. Si presiona el botón Aceptar, simplemente imprima toda la información y si presiona el botón Cancelar, la ventana se cerrará
A continuación se muestra la implementación.
Python3
# importing libraries from PyQt5.QtWidgets import * import sys # creating a class # that inherits the QDialog class class Window(QDialog): # constructor def __init__(self): super(Window, self).__init__() # setting window title self.setWindowTitle("Python") # setting geometry to the window self.setGeometry(100, 100, 300, 400) # creating a group box self.formGroupBox = QGroupBox("Form 1") # creating spin box to select age self.ageSpinBar = QSpinBox() # creating combo box to select degree self.degreeComboBox = QComboBox() # adding items to the combo box self.degreeComboBox.addItems(["BTech", "MTech", "PhD"]) # creating a line edit self.nameLineEdit = QLineEdit() # calling the method that create the form self.createForm() # creating a dialog button for ok and cancel self.buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) # adding action when form is accepted self.buttonBox.accepted.connect(self.getInfo) # adding action when form is rejected self.buttonBox.rejected.connect(self.reject) # creating a vertical layout mainLayout = QVBoxLayout() # adding form group box to the layout mainLayout.addWidget(self.formGroupBox) # adding button box to the layout mainLayout.addWidget(self.buttonBox) # setting lay out self.setLayout(mainLayout) # get info method called when form is accepted def getInfo(self): # printing the form information print("Person Name : {0}".format(self.nameLineEdit.text())) print("Degree : {0}".format(self.degreeComboBox.currentText())) print("Age : {0}".format(self.ageSpinBar.text())) # closing the window self.close() # creat form method def createForm(self): # creating a form layout layout = QFormLayout() # adding rows # for name and adding input text layout.addRow(QLabel("Name"), self.nameLineEdit) # for degree and adding combo box layout.addRow(QLabel("Degree"), self.degreeComboBox) # for age and adding spin box layout.addRow(QLabel("Age"), self.ageSpinBar) # setting layout self.formGroupBox.setLayout(layout) # main method if __name__ == '__main__': # create pyqt5 app app = QApplication(sys.argv) # create the instance of our Window window = Window() # showing the window window.show() # start the app sys.exit(app.exec())
Producción :
Person Name : Geek Degree : BTech Age : 20
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA