Python hosting : Host, run, and code Python in the cloud!
A form can be created using the class QFormLayout. This is the easiest way to create a form where widgets (input) have descriptions (labels).
In this article we’ll show you how to create a form with pyqt.
Related course:
Form Layout Example The Form Layout is created using the class QFormLayout. We can add rows to the form using the method addRow. The method is defined as
addRow(QWidget * label, QWidget * field)
We call the method using two widgets where the first is the label and the second the type of widget.
from PyQt5.QtWidgets import (QApplication, QComboBox, QDialog,QDialogButtonBox, QFormLayout, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, QMenu, QMenuBar, QPushButton, QSpinBox, QTextEdit, QVBoxLayout) import sysclass Dialog (QDialog ): NumGridRows = 3 NumButtons = 4 def __init__ (self ): super (Dialog, self).__init__() self.createFormGroupBox() buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonBox.accepted.connect(self.accept) buttonBox.rejected.connect(self.reject) mainLayout = QVBoxLayout() mainLayout.addWidget(self.formGroupBox) mainLayout.addWidget(buttonBox) self.setLayout(mainLayout) self.setWindowTitle("Form Layout - pythonspot.com" ) def createFormGroupBox (self ): self.formGroupBox = QGroupBox("Form layout" ) layout = QFormLayout() layout.addRow(QLabel("Name:" ), QLineEdit()) layout.addRow(QLabel("Country:" ), QComboBox()) layout.addRow(QLabel("Age:" ), QSpinBox()) self.formGroupBox.setLayout(layout) if __name__ == '__main__' : app = QApplication(sys.argv) dialog = Dialog() sys.exit(dialog.exec_())
If you are new to programming Python PyQt, I highly recommend this book.
Download PyQT5 Examples
Leave a Reply: