私はGUI用のPyQt4ライブラリを使ってPythonでアプリケーションを構築しました。私のGUIは、グラフとその上のいくつかのボタンをプロットします。 frame_B
のグラフの生活、frame_A
でのライブグラフの上のボタン(およびLED):PyQtでのQWidgetsのスケーリング
私は私のMainWindow
クラスにframe_A
(ともframe_B
)を作成します。
class CustomMainWindow(QtGui.QMainWindow):
def __init__(self):
super(CustomMainWindow, self).__init__()
# Do some initialization stuff..
''''''
def initLayout(self):
# Create frame_A and its corresponding layout
frame_A = QtGui.QFrame(self)
setCustomSize(frame_A, 380,800)
self.layout_A = QtGui.QGridLayout()
frame_A.setLayout(self.layout_A)
# Create frame_B, and so forth..
''''''
def setButtons(self):
# Create btn01..
# Create btn02..
# Create btn03..
# Create btn04..
# Create btn05..
# Create led01..
# Add all buttons to the layout of frame_A:
self.layout_A.addWidget(self.btn01, *(0,0))
self.layout_A.addWidget(self.btn02, *(0,1))
self.layout_A.addWidget(self.btn03, *(0,2))
self.layout_A.addWidget(self.btn04, *(0,3))
self.layout_A.addWidget(self.btn05, *(0,4))
self.layout_A.addWidget(self.led01, *(0,5))
''''''
''''''
上記の図のように、結果は非常に満足です。ウィンドウを大きくすると(マウスで簡単なクリックとドラッグで)、frame_A
とframe_B
も拡大します。それは完璧です。私は他の方法でそれを望んでいないでしょう。
しかし、frame_A
のボタンがすべての新しいスペースを埋めるように均等に配分されていることが気になります。私はこのような行動を好むだろう:
誰もがそれを達成するために巧妙なアイデアを持っていますか?
チャームのように動作します!ありがとうございます:-) –