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 qwidget .
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: