在 nxn 格式的网格布局中排列分组框时出现问题



我有一个项目正在处理的问题。这实际上是一个学校管理系统。我基本上想做的是创建一个框架,该框架在 3 列和 n 行中显示一个分组框,具体取决于数据库中数据的长度。我设法创建了它,但在使框架调整自身大小以正确显示分组框并间隔分组框时遇到问题。我将欣赏一个简单的示例。

谢谢大家,我已经能够绕过它。

from PyQt5.QtWidgets import *
from PyQt5.Qt import *
import sys
class Window(QMainWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) 

self.create_gui()
self.create_boxes()

def create_gui(self):

self.setGeometry(0, 0, 920, 560)

self.centralwidget = QWidget(self)
self.centralwidget_layout = QGridLayout(self.centralwidget)

self.staff_scroll = QScrollArea(self.centralwidget)
self.staff_scroll.setWidgetResizable(True)
self.centralwidget_layout.addWidget(self.staff_scroll, 0, 0)

self.staff_scroll_content = QWidget()
self.staff_scroll_content.setGeometry(QRect(0, 0, 1000, 200))   
self.staff_scroll_layout = QGridLayout(self.staff_scroll_content)

self.staff_main = QFrame(self.staff_scroll_content)
self.staff_main_layout = QGridLayout(self.staff_main)
self.staff_grid = QGridLayout()
self.staff_main_layout.addLayout(self.staff_grid, 0, 0)

self.staff_scroll_layout.addWidget(self.staff_main, 0, 0)

self.staff_scroll.setWidget(self.staff_scroll_content)

self.setCentralWidget(self.centralwidget)

def create_boxes(self):
number = 1000
columns = 3
for index in range(number):            
x = index // columns
y = index % columns
self.staff_sub = QGroupBox()
self.staff_sub.setFixedSize(250, 130)
self.staff_grid.addWidget(self.staff_sub, x, y)
self.staff_dp = QLabel(self.staff_sub)
self.staff_dp.setGeometry(5, 65, 60, 60)
self.staff_dp.setPixmap(self.pxmap)
self.staff_dp.setScaledContents(True)

self.staff_name = QLabel(self.staff_sub)
self.staff_name.setGeometry(80, 60, 160, 25)
self.staff_name.setText(str(self.result))
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())

我只是需要更多的帮助。我能够按照自己的方式自动创建组框 i。

我现在的问题是,我想从sqlite数据库传递一些数据,员工姓名列表及其图片到组框。我将不胜感激一个演示。上面的代码是我创建分组框的方式,我希望每个分组框都携带这些信息。提前谢谢。

最新更新