0

PySideを使用してGUIを構築しています

いくつかのウィジェットを追加したQBoxLayoutがあります。問題は、実行できなかった位置を制御したいということです。ドキュメントページで提供されているものを試してみました。

addWidget( widg, int streatch, int alignment)

しかし、それは私が望むものを私に与えていないので、私が望む最終的な外観はこのようなものです


-------------------------------------------------- ---------- ^^ ** &&&&&&

行____がウィンドウ/レイアウト全体を表す場合コードで名前を付けたウィジェットをwid破線のようにし、スライダーを^^と同じ場所に配置します。最後&&&&&にあるボタン

2番目の質問は、スライダーとコモボックスにいくつかのラベルを追加したいのですが、位置を特定したいのですが、どうすればよいですか?

これが私のコードです

    self.wid = GLWidget()

    mainLayout = QtGui.QHBoxLayout()
    mainLayout.addWidget(self.wid)



    self.xSlider = self.createSlider()
    self.ySlider = self.createSlider()

    mainLayout.addWidget(self.xSlider)
    mainLayout.addWidget(self.ySlider)

    self.btn = QtGui.QPushButton('OK')
    self.btn.resize(self.btn.sizeHint())

    mainLayout.addWidget(self.btn)


    self.combo = QtGui.QComboBox()

    mainLayout.addWidget(self.combo)

    self.setLayout(mainLayout)
    self.setWindowTitle(self.tr("Hello GL"))
    self.setGeometry(350, 350, 1000, 1000)
4

1 に答える 1

1

QHBoxLayout の代わりに QGridLayout を使用し、QGridLayout のsetColumnMinimumWidthメソッドを使用して、必要なウィジェットの幅を指定できます。

mainLayout = QtGui.QGridLayout()
mainLayout.setColumnMinimumWidth(0, 100) #set column 0 width to 100 pixels
button = QtGui.QPushButton('OK')
mainLayout.addWidget(button, 0, 0) #adds the button to the widened column

残りのウィジェットの追加を続けます。

于 2013-03-19T12:56:11.590 に答える