質問

いQLabel、QLineEdit内QWidget.いただいた場合、ウィジェットの内QScrollArea、ライン編集に膨らまないの席に、超過幅をウインドウです。時にウィジェットは内部にスクロール領域で拡大します。

また、サイズが政策の行編集のウィジェットを拡大するため、横方向において接続されたことを示していを占めるに過剰スペース。こsizeHint()でウィジェットの圧縮時の内部にスクロールです。そのアイデアの作り方をこす。

class MainWindow(QtGui.QMainWindow):
def __init__(self):
    QtGui.QMainWindow.__init__(self, None)
    self.setWindowTitle('Test Window')
    self.resize(500, 250)

    scrollArea = QtGui.QScrollArea()
    scrollWidget = QtGui.QWidget()
    scrollWidget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)

    layout = QtGui.QGridLayout(scrollWidget)
    label = QtGui.QLabel("Name:")
    layout.addWidget(label, 0, 0)
    lineEdit = QtGui.QLineEdit("Value")
    lineEdit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Maximum)
    layout.addWidget(lineEdit, 0, 1)
    scrollWidget.setLayout(layout)

    scrollArea.setWidget(scrollWidget)
    self.setCentralWidget(scrollArea)
役に立ちましたか?

解決

と思っているお問題です。

以下のようにコードでは動作が正しく行:

    ...

    scrollArea.setWidget(scrollWidget)
    scrollArea.setWidgetResizable(True) #add this
    self.setCentralWidget(scrollArea)

    ...

から docs,

widgetResizable:bool

この施設を保有るか否かをスクロール区域はサイズ変更のウィジェット.

このプロパティをtrueに設定すると、スクロール領域を自動的にサイズ変更のウィジェットを避けるためにスクロールバーがいる可能性があること又は利用の空間です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top