私はPyQT4
にアプリケーションを構築しています。このアプリの主な部分は、ウィジェットのグリッドを維持することです(サブタイプはQLineEdit
ウィジェットからクラス分けされています)。ウィジェットをQGridLayout
に編成しています。QGridLayoutのウィジェット間の間隔は、ウィンドウのサイズ変更時にどのように固定されますか?
私は窓を実行すると、私は私がしたいだけでどのように整理グリッドを得る、すなわち
しかし、QGridLayout
は、ウィンドウのサイズが変更されたとき、それは自動的にウィジェット間の間隔をパッド性質を持っています、すなわち
私は関係なく、私は、ウィンドウのサイズを変更する方法、ウィジェット間の同じ間隔を持つグリッドの愛ないだろう。私は見て、これを達成する方法を見つけるように見えることができません。私は間隔を固定するものを想像していただろうが、そうした可能性のある機能のどれもがこの効果を持っていない。
ここにコードスニペットを示します。具体的にはQGridLayout
の部分だけです。
class GridBlockTxtbx(QtGui.QWidget):
def __init__(self, blocks=5, spaces=5):
QtGui.QWidget.__init__(self)
self.dctn_txtbx = {}
self.blocks = blocks
self.spaces = spaces
# Create layout
layout = QtGui.QGridLayout()
# Set initial spacing between widgets to 2 pixels...
# I want this to be fixed on window resize!
layout.setSpacing(2)
# Function to load the widgets into the grid
GridBlockTxtbx._gen_block_txtbx_grid(layout, self.blocks,
self.spaces,
self.dctn_txtbx)
# Set the layout
self.setLayout(layout)
def _gen_block_txtbx_grid(layout, rows, cols, dctn):
for i in range(rows):
for j in range(cols):
blk = GridBlockTxtbx._gen_block_txtbx(idx=(i, j))
layout.addWidget(blk, i, j)
dctn[i, j] = blk
あなたが一定の間隔をしたい場合は、何がuponsではなく、サイズ変更が起こるでしょうか?ウィジェットが大きくなるか、またはグリッドがより多くの行と列を取得すべきか、グリッドの外側に余分なスペースがあるべきか?質問を回答可能にするには、希望の動作を指定してください。 – Trilarion
エコモロが答えました、ありがとう:) –
それは本当です。彼はあなたが望むものを特定しなかったので推測しましたが。それで他の人にとって質問が本当に役に立たなくなる – Trilarion