Pyqt-qboxlayout-class
提供:Dev Guides
PyQt-QBoxLayoutクラス
*QBoxLayout* クラスは、ウィジェットを垂直または水平に並べます。 その派生クラスは、 *QVBoxLayout* (ウィジェットを垂直に配置するため)および *QHBoxLayout* (ウィジェットを水平に配置するため)です。 次の表は、QBoxLayoutクラスの重要なメソッドを示しています-
Sr.No. | Methods & Description |
---|---|
1 |
addWidget() BoxLayoutにウィジェットを追加します |
2 |
addStretch() 空の伸縮可能なボックスを作成します |
3 |
addLayout() 別のネストされたレイアウトを追加する |
例1
ここでは、2つのボタンが垂直ボックスレイアウトに追加されます。 addStretch()メソッドにより、それらの間に伸縮可能な空のスペースが追加されます。 したがって、最上位ウィンドウのサイズを変更すると、ボタンの位置が自動的に再配置されます。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
b1 = QPushButton("Button1")
b2 = QPushButton("Button2")
vbox = QVBoxLayout()
vbox.addWidget(b1)
vbox.addStretch()
vbox.addWidget(b2)
win.setLayout(vbox)
win.setWindowTitle("PyQt")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
上記のコードは、次の出力を生成します-
例2
この例では、水平ボックスレイアウトを使用しています。 addStretch()メソッドは、2つのボタンオブジェクトの間に伸縮可能な空のスペースを挿入します。 したがって、ウィンドウのサイズが変更されると、ボタンのサイズと位置が動的に変更されます。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
b1 = QPushButton("Button1")
b2 = QPushButton("Button2")
hbox = QHBoxLayout()
hbox.addWidget(b1)
hbox.addStretch()
hbox.addWidget(b2)
win.setLayout(hbox)
win.setWindowTitle("PyQt")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
上記のコードは、次の出力を生成します-
実施例3
この例は、レイアウトをネストする方法を示しています。 ここでは、2つのボタンが垂直ボックスレイアウトに追加されます。 次に、2つのボタンと伸縮可能な空のスペースを持つ水平ボックスレイアウトオブジェクトが追加されます。 最後に、垂直ボックスレイアウトオブジェクトがsetLayout()メソッドによってトップレベルウィンドウに適用されます。
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
def window():
app = QApplication(sys.argv)
win = QWidget()
b1 = QPushButton("Button1")
b2 = QPushButton("Button2")
vbox = QVBoxLayout()
vbox.addWidget(b1)
vbox.addStretch()
vbox.addWidget(b2)
hbox = QHBoxLayout()
b3 = QPushButton("Button3")
b4 = QPushButton("Button4")
hbox.addWidget(b3)
hbox.addStretch()
hbox.addWidget(b4)
vbox.addStretch()
vbox.addLayout(hbox)
win.setLayout(vbox)
win.setWindowTitle("PyQt")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
上記のコードは、次の出力を生成します-