QBoxLayoutشرح ال
QBoxLayout
Create object:
boxlayout = QBoxLayout(QBoxLayout.Direction, self)
Direction | LeftToRight | 0 | ترتب العناصر أفقيا من اليسار لليمين |
RightToLeft | 1 | ترتب العناصر أفقيا من اليمين لليسار | |
TopToBottom | 2 | ترتب العناصر رأسيا من أعلي لأسفل | |
BottomToTop | 3 | ترتب العناصر رأسيا من الأسفل للأعلي |
EX_1:Direction
boxlayout = QBoxLayout(QBoxLayout.LeftToRight, self)
Functions:
addWidget() | boxlayoutتضيف العناصر(زرار....إلخ) إلي ال | |
addLayout() | Boxlayout داخل ال layout تضيف | |
addSpacing() | الأمر مكان إستخدام تضيف مسافة قبل أو بعد أو بين عناصر النافذة حسب | |
addStrut() | مسافة معينة بين العناصر وبعضها وكذلك العناصر والنافذة تضيف | |
setContentsMargins(ش,فوق,ج,تحت) | من جميع الجهات عن النافذةlayoutتحدد المسافة بين ال | |
spaceItem = QSpacerItem(x, y, QSizePolicy.Expanding) boxlayout.addSpacerItem(spaceItem) | ونوعها x, yتمنع تمدد العناصر وتخلق بينهم مسافة أبعادها والعناصرمتمددةFixedوالعناصر ثابتة أو ثابتةExpandingإما متمددة | |
والعناصرمتمددة Fixedوالعناصر ثابتة أو ثابتةExpanding ونوعها إما متمددةx, yتمنع تمدد العناصر وتخلق بينهم مسافة أبعادها verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) | ||
addStretch() | موقع تمنع تمدد العناصر مع النافذة وتضيف مربع فارغ قبل أو بعد أوبين العناصر حسب layout.addWidget(btn)بين أمر إضافة العناصرboxlayout.addStretch() إستخدام الأمر |
EX_2:addstretch() function
from PyQt5.QtWidgets import *
import sys
class window(QWidget):
def __init__(self):
super(window, self).__init__()
self.resize(500, 250)
btn1 = QPushButton()
btn1.resize(100,50)
btn1.setText("click_1")
btn2 = QPushButton()
btn2.setText("click_2")
lay = QBoxLayout(QBoxLayout.LeftToRight, self)
# addstretch() function
lay.addStretch()
lay.addWidget(btn1)
lay.addWidget(btn2)
self.setLayout(lay)
lay.addStretch()
if __name__=='__main__':
app = QApplication(sys.argv)
wind = window()
wind.show()
app.exec()
EX_2:
# from PyQt5 import Qt
# from PyQt5.QtGui import QCursor
# from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys
class window(QWidget):
def __init__(self):
super(window, self).__init__()
self.resize(500, 500)
btn1 = QPushButton()
btn1.setText("click_1")
btn2 = QPushButton()
btn2.setText("click_2")
btn3 = QPushButton()
btn3.setText("click_3")
btn4 = QPushButton()
btn4.setText("click_4")
boxlayout = QBoxLayout(QBoxLayout.TopToBottom, self)
boxlayout.addWidget(btn1)
# boxlayout.addStrut(20)
verticalSpacer = QSpacerItem(50, 100, QSizePolicy.Minimum, QSizePolicy.Expanding)
boxlayout.addItem(verticalSpacer)
boxlayout.addWidget(btn2)
boxlayout.addWidget(btn3)
boxlayout.addWidget(btn4)
# boxlayout.setContentsMargins(60,90,60,30)
# boxlayout.addSpacing(100)
# # addstretch() function
# spaceItem = QSpacerItem(150, 10, QSizePolicy.Fixed)
# boxlayout.addSpacerItem(spaceItem)
# boxlayout.addWidget(btn1)
# boxlayout.addSpacing(20)
# boxlayout.addWidget(btn2)
# boxlayout.addSpacing(100)
self.setLayout(boxlayout)
if __name__=='__main__':
app = QApplication(sys.argv)
wind = window()
wind.show()
app.exec()
V_layout = QVBoxLayout() | ترتب العناصر داخلها رأسيا | |
H_layout = QHBoxLayout() | ترتب العناصر داخلها أفقيا | |
addWidget() | boxlayoutتضيف العناصر(زرار....إلخ) إلي ال | |
addLayout() | Boxlayout داخل ال layout تضيف | |
addSpacing() | الأمر مكان إستخدام تضيف مسافة قبل أو بعد أو بين عناصر النافذة حسب | |
addStrut() | مسافة معينة بين العناصر وبعضها وكذلك العناصر والنافذة تضيف | |
addWidget() | boxlayoutتضيف العناصر(زرار....إلخ) إلي ال | |
addStretch() | موقع تمنع تمدد العناصر مع النافذة وتضيف مربع فارغ قبل أو بعد أوبين العناصر حسب layout.addWidget(btn)بين أمر إضافة العناصرboxlayout.addStretch() إستخدام الأمر | |
setMenuBar() | QHBoxLayoutأو QVBoxLayoutتضيف شريط القوائم إلي ال | |
: من جميع الجهات عن النافذةlayoutتحدد المسافة بين ال setContentsMargins(شمال,فوق,جنوب,تحت) |
EX:
# from PyQt5 import Qt
# from PyQt5.QtGui import QCursor
# from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys
class window(QWidget):
def __init__(self):
super(window, self).__init__()
self.resize(300, 200)
btn1 = QPushButton()
btn1.setText("click_1")
btn2 = QPushButton()
btn2.setText("click_2")
btn3 = QPushButton()
btn3.setText("click_3")
btn4 = QPushButton()
btn4.setText("click_4")
v = QVBoxLayout() # create vertical layout
v.addWidget(btn1)
# v.addSpacing(10)
v.addWidget(btn2)
v.addStrut(50)
h = QHBoxLayout() # create horizontal layout
h.addWidget(btn3)
# h.addSpacing(10)
h.addWidget(btn4)
v.addLayout(h) # add horizontal layout
self.setLayout(v)
if __name__=='__main__':
app = QApplication(sys.argv)
wind = window()
wind.show()
app.exec()
Comments
Post a Comment