QGridLayoutشرح ال
QGridLayout
مقسمة إلي صفوف وأعمدة يتم وضع العناصر داخها عن طريق تحديد الصف والعمود لكل عنصر
Create object of QPushButton:
gridlayout = QGridLayout()
Functions:
setColumnStretch(column, span) | تمد حجم العمود لتجعله يتكون من كذا عمود معا(توسع العمود بدمجه مع أعمدة آخري) |
:columnspanوطول العنصر كذا rowspan تضيف العناصر في صفوف وأعمدة عرض العنصر كذا addWidget(QWidget, int r, int c, int rowspan, int columnspan) | |
addWidget(QWidget, int r, int c) | تضيف العنصر في صف معين وعمود معين |
addLayout(QLayout, int r, int c) | في مكان معين برقم الصف والعمودgridlayout مصغرة إلي الlayoutتضيف |
setSpacing() | المسافة بين عناصر الصف |
setMenuBar() | gridlayout تضيف شريط القوائم إلي ال |
: من جميع الجهات عن النافذةlayoutتحدد المسافة بين ال setContentsMargins(شمال,فوق,جنوب,تحت) |
EX:
from PyQt5.QtWidgets import *
import sys
class window(QWidget):
def __init__(self):
super(window, self).__init__()
self.resize(800, 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")
self.gridlayout = QGridLayout() # create QGridLayout
self.gridlayout.setColumnStretch(0, 5)
self.gridlayout.setSpacing(20) # add space between items in same row
self.gridlayout.addWidget(btn1, 0, 0) # add btn1 to row(0) and column(1)
self.gridlayout.addWidget(btn2, 0, 1) # add btn1 to row(1) and column(0)
self.gridlayout.addWidget(btn3, 1, 0) # add btn1 to row(1) and column(1)
# self.gridlayout.addItem(btn4, 1, 2, 5, 5,Qt.Alignment)
self.gridlayout.addWidget(btn4, 1, 1) # add btn1 to row(1) and column(2)
menu = QMenuBar()
menu.addAction("sava")
menu.addAction("view")
self.gridlayout.setMenuBar(menu)
self.setLayout(self.gridlayout) # add gridlayout to widget
btn1.clicked.connect(self.btn)
def btn(self):
self.removeWidget(self.gridlayout)
if __name__=='__main__':
app = QApplication(sys.argv)
wind = window()
wind.show()
app.exec()
Comments
Post a Comment