-1

ウィジェットに固定位置を与えるにはどうすればよいですか? そのように、ウィンドウの下部に「添付」/配置すると、常にそこに表示されます。窓を広げても。私はそれを行う方法について有用なものを見つけることができませんでしresize()setGeometry(). 何か助けはありますか?

4

2 に答える 2

2

「固定位置」とは、ウィンドウの端の1つに対する位置を意味すると思います。それがあなたの2番目の文が意味することです。それが私が答える質問です。

ストレッチと間隔のあるレイアウト マネージャーを使用します。これは、ウィジェット「w」をウィンドウ「win」の下部に取り付ける簡単な例です。このコードは通常、ウィンドウのコンストラクターによって呼び出されます (または内部に入ります)。

lay = QVBoxLayout(win)
lay.addStretch(1)
lay.addWidget(w)

BoxLayout は、"w" をウィンドウの下部に固定し、ウィンドウのサイズが変更されてもその位置にとどまるようにします。

于 2013-09-17T22:29:09.980 に答える
-1

親ウィンドウの resizeEvent 関数を再実装する必要があります。ウィンドウの下部にウィジェットを「接続」するコードを次に示します。

def resizeEvent(self, event):
    #widget.move(x, y)
    self.bottom_widget.move(0, self.height() - self.bottom_widget.height())
    #if you want the widgets width equal to window width:
    self.bottom_widget.setWidth(self.width())

ウィンドウのサイズが変更されるたびに、この関数が呼び出され、ウィジェットがウィンドウの下部に移動します。これは絶対配置アプローチですが、いつでも QSpacerItem を使用してウィジェットを一番下にプッシュできます。

于 2013-09-17T22:21:35.177 に答える