QFormLayoutشرح ال
QFormLayout
تعمل نافذة مرتبة علي شكل صفوف كل صف فيها يحتوي عمودين فقط
Create object of QPushButton:
Formbox = QFormLayout()
Functions:
addRow(QLabel, QWidget) | آخر مثل زرار أو سليدر... إلخ (widget)عليها نص وبجانبه أي متحكم Label تستخدم لإضافة | |
addRow(QLabel, QLayout) | QVBoxLayoutآخري مثل (Layout)عليها نص وبجانبه أي حاويةLabel تستخدم لإضافة | |
addRow(QWidget) addRow(QWidget,QWidget) | آخر بدون في العمودين معا مثل زرار أو سليدر... إلخ (widget) تستخدم لإضافة أي متحكم ويمكن إضافة متحكمين معا | |
setVerticalSpacing(int) | تضع مسافة رأسية بين الصفوف | |
setHorizontalSpacing(int) | )Label وال Layoutتضع مسافة أفقية بين عناصر الصف الواحد (يعني مسافة بين ال | |
takeRow(index) | ويكتب بعد أوامر إضافة الصفوفQFormLayout معين من ال indexتستخدم لحذف الصف اللي ليه | |
removeRow(index) | بتاعهindex بمعلومية ال QFormLayoutتزيل صف من ال | |
بتاعه: index من خلال الQFormLayoutتضيف عنصر في أي مكان في ال setWidget(4,QFormLayout.SpanningRole,add3) | ||
بتاعه: index من خلال الQFormLayoutتضيف حاوية في أي مكان في ال setLayout(5, QFormLayout.SpanningRole, hbox) |
EX:
from PyQt5.QtWidgets import *
import sqlite3
import sys
class window(QWidget):
def __init__(self):
super(window, self).__init__()
l1 = QLabel("Name")
nm = QLineEdit()
l2 = QLabel("Address")
add1 = QLineEdit()
add2 = QLineEdit()
add3 = QLineEdit()
fbox = QFormLayout()
fbox.addRow(l1, nm)
fbox.setVerticalSpacing(30)
# fbox.setHorizontalSpacing(50)
vbox = QVBoxLayout()
vbox.addWidget(add1)
vbox.addWidget(add2)
l3 = QLineEdit("\"email-here\"@gmail.com")
fbox.addRow(l2, vbox)
r = fbox.addRow(l3)
hbox = QHBoxLayout()
r1 = QRadioButton("Male")
r2 = QRadioButton("Female")
l4 = QLabel("sex")
hbox.addStrut(30)
hbox.addWidget(l4)
hbox.addWidget(r1)
hbox.addWidget(r2)
# fbox.removeRow(0)
fbox.setLayout(5, QFormLayout.SpanningRole, hbox)
fbox.addRow(QPushButton("Submit"), QPushButton("Cancel"))
# fbox.takeRow(1) #remove row of index(1) from the form
self.setLayout(fbox)
self.setWindowTitle("PyQt")
if __name__== '__main__':
app = QApplication(sys.argv)
wind = window()
wind.show()
app.exec()
Comments
Post a Comment