質問

QTableWidgetと6 QPushBottonを持っていますこの方法でレイアウトに入れたいです。

画像の記述ここで

ボットの間の小さな間隔

しかしQGridLayoutを使用すると、この

のように見えます

画像の記述ここで

コード:

    tab_Memory_layout = QtGui.QGridLayout()
    tab_Memory_layout.setVerticalSpacing(0)
    tab_Memory_layout.setAlignment(QtCore.Qt.AlignTop)
    tab_Memory_layout.addWidget(self.MemoryTable, 0, 0)
    tab_Memory_buttons = QtGui.QGridLayout()
    tab_Memory_buttons.setSpacing(5)
    tab_Memory_buttons.addWidget(self.pushButton_add_memory, 0, 0, QtCore.Qt.AlignTop)
    tab_Memory_buttons.addWidget(self.pushButton_up_memory, 1, 0, QtCore.Qt.AlignTop)
    tab_Memory_buttons.addWidget(self.pushButton_down_memory, 2, 0, QtCore.Qt.AlignTop)
    tab_Memory_buttons.addWidget(self.pushButton_top_memory, 3, 0, QtCore.Qt.AlignTop)
    tab_Memory_buttons.addWidget(self.pushButton_bottom_memory, 4, 0, QtCore.Qt.AlignTop)
    tab_Memory_buttons.addWidget(self.pushButton_delete_memory, 5, 0, QtCore.Qt.AlignTop)
    tab_Memory_layout.addLayout(tab_Memory_buttons, 0, 1)
    self.tab_Memory.setLayout(tab_Memory_layout)
.

setRowStretch(i, 0), setVerticalSpacing(0)を試しましたが、それは助けませんでした!

私はまた、ボトングループのQGridLayoutQVBoxLayoutを使用しました。

役に立ちましたか?

解決

spacer あなたのレイアウトで:

画像の説明がここにある

qspaceritem クラスは、レイアウト内の空白スペースを提供します。

verticalSpacer = QSpacerItem(40, 20, QSizePolicy.Minimum, QSizePolicy.Expanding)
tab_Memory_buttons.addItem(verticalSpacer, 6, 0, QtCore.Qt.AlignTop)
.

レイアウト内の余分なスペースはスペーサーによって「吸収されます」と他のウィジェットを整列させ続けるでしょう。

他のヒント

削除ボタンの下のqlabel( "")を追加します。これはあなたが望む方法のようにそれらを作ります。

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