2016-07-04 14 views
1

私は愚かでも迷惑な質問にぶつかっています。 2つのリストウィジェットのグリッドレイアウト上に異なるサイズを設定したいと思います。したがって、私はフォームスペースの60%を上部ウィジェットに、40%を下部ウィジェットに設定したいと考えています。私は成功せずにsetRowStretchを使用しようとしました。あなたが提供することができますどのような援助のためのQt/PyQt/PySideグリッドレイアウトでウィジェットのサイズを制御する方法

import sys 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 

def window(): 
    app = QApplication(sys.argv) 
    win = QWidget() 

    list1 = QListView() 
    list2 = QListView() 

    grid = QGridLayout() 
    grid.setRowStretch(6, 4) 
    grid.addWidget(list1) 
    grid.setSpacing(2) 
    grid.addWidget(list2) 

    win.setLayout(grid) 
    win.setGeometry(300, 150, 350, 300) 
    win.setWindowTitle("Example") 
    win.show() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    window() 

ありがとう:

は、ここに私のコードです。

答えて

2

rowStretchメソッドの最初のパラメータは行番号で、2番目のパラメータはストレッチ係数です。したがって、次のようにrowStretchへの2回の呼び出しが必要です。

import sys 
from PyQt4.QtCore import * 
from PyQt4.QtGui import * 

def window(): 
    app = QApplication(sys.argv) 
    win = QWidget() 

    list1 = QListView() 
    list2 = QListView() 

    grid = QGridLayout() 
    grid.setRowStretch(0, 6) 
    grid.setRowStretch(1, 4) 
    grid.addWidget(list1) 
    grid.setSpacing(2) 
    grid.addWidget(list2) 

    win.setLayout(grid) 
    win.setGeometry(300, 150, 350, 300) 
    win.setWindowTitle("Example") 
    win.show() 
    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    window() 
+0

Thabks!ドキュメントにはそのことは言及されておらず、関連する例は見つかりませんでした。 – maurobio

+0

喜んで助けになるでしょう。これで問題が解決する場合は、チェックマークをクリックして回答を受け入れてください。 – titusjan

関連する問題