0
嗨同行的程序员。PyQt5与帧的布局
目前正在图形用户界面上工作。我正在尝试使用3个QFrame进行布局。
如下面的截图所示,黄色框架位于右侧。我希望该框架位于右侧框架之上。 (在数字键盘上,占据整个水平空间)
另外,对于右边框架上的数字键盘按钮。我希望他们尽可能地接近彼此,就像键盘上的数字键盘一样。我将如何调整网格来做到这一点?
在此先感谢。
截图:
EDITED 这就是我想要的结果是。红色框是右边框(第一张图片中的黄色框)。
代码:为框架
def layoutUI(self):
### Right Top Frame
self.rightTopFrame = QFrame()
self.rightTopFrame.resize(1,1)
self.rightTopFrame.setStyleSheet("background-color: yellow")
### Left Grid
self.leftGrid = QGridLayout()
self.leftGrid.setColumnMinimumWidth(10, 10)
self.leftGrid.setRowMinimumHeight(1, 1)
# Run, Stop, Speed layout
self.leftGrid.addWidget(self.b1, 0, 0)
self.leftGrid.addWidget(self.b2, 0, 2)
self.leftGrid.addWidget(self.b3, 1, 0)
self.leftGrid.addWidget(self.l1, 1, 1)
self.leftGrid.addWidget(self.b4, 1, 2)
# pl (Pieces and Length) layout
self.leftGrid.addWidget(self.b5, 2, 0)
self.leftGrid.addWidget(self.l2, 2, 1)
self.leftGrid.addWidget(self.b6, 2, 2)
self.leftGrid.addWidget(self.b7, 3, 0)
self.leftGrid.addWidget(self.l3, 3, 1)
self.leftGrid.addWidget(self.b8, 3, 2)
# Manual
self.leftGrid.addWidget(self.l4, 4, 1)
self.leftGrid.addWidget(self.b9, 5, 0)
self.leftGrid.addWidget(self.b10, 5, 1)
self.leftGrid.addWidget(self.b11, 5, 2)
### Right Grid
self.rightGrid = QGridLayout()
self.rightGrid.setColumnMinimumWidth(0, 0)
self.rightGrid.setRowMinimumHeight(1, 1)
self.rightGrid.addWidget(self.np1, 2, 0)
self.rightGrid.addWidget(self.np2, 2, 1)
self.rightGrid.addWidget(self.np3, 2, 2)
self.rightGrid.addWidget(self.np4, 3, 0)
self.rightGrid.addWidget(self.np5, 3, 1)
self.rightGrid.addWidget(self.np6, 3, 2)
self.rightGrid.addWidget(self.np7, 4, 0)
self.rightGrid.addWidget(self.np8, 4, 1)
self.rightGrid.addWidget(self.np9, 4, 2)
self.rightGrid.addWidget(self.np0, 5, 1)
self.rightGrid.addWidget(self.npCl, 5, 0)
#self.rightGrid.addWidget(self.bExit, 0, 2)
### Left Frame
self.leftFrame = QFrame()
self.leftFrame.resize(150,550)
#self.leftFrame.setStyleSheet("background-color: red")
self.leftFrame.setLayout(self.leftGrid)
### Right Frame
self.rightFrame = QFrame()
self.rightFrame.resize(15,50)
#self.rightFrame.setStyleSheet("background-color: green")
self.rightFrame.setLayout(self.rightGrid)
### Main Grid
self.mainGrid = QGridLayout()
self.mainGrid.setColumnMinimumWidth(10, 0)
self.mainGrid.addWidget(self.leftFrame)
self.mainGrid.addWidget(self.rightFrame)
self.mainGrid.addWidget(self.rightTopFrame)
### Main Interface
self.setGeometry(300, 200, 850, 450)
self.setLayout(self.mainGrid)
self.setStyleSheet("background-color: %s" % backgroundColor)
self.setWindowTitle('Signal & slot')
self.show()
你可以把你想要什么的图像。 – eyllanesc
添加了结果应该如何的图像。 – Soundwave