def __init__(self): super().__init__() self.order_list = [str(i) * 2 * i for i in range(20)] self.space = 18 self.init_ui()def init_ui(self): self.setGeometry(300, 300, 300, 300) self.layout = Qw.QGridLayout(self) self.menu = Qw.QWidget() self.menu.setFixedHeight(self.space * len(self.order_list) + 5) self.menu.items = [] for n, i in enumerate(self.order_list): btn = Qw.QCheckBox(i, self.menu) btn.move(5, self.space * n + 5) btn.setFixedHeight(15) self.menu.items.append(btn) self.menu_scroll = Qw.QScrollArea() self.menu_scroll.setWidgetResizable(True) self.menu_scroll.setWidget(self.menu) self.layout.addWidget(self.menu_scroll, 0, 0, 1, 1) self.layout.setColumnStretch(0, 10) self.rec = Qw.QWidget() self.rec_box = Qw.QVBoxLayout(self.rec) self.rec.setLayout(self.rec_box) self.rec_scroll = Qw.QScrollArea() self.rec_scroll.setWidget(self.rec) self.layout.addWidget(self.rec_scroll, 0, 1, 1, 1) self.layout.setColumnStretch(1, 9) self.order_btn = Qw.QPushButton('Order') self.order_btn.setFixedSize(80, 30) self.order_btn.clicked.connect(self.get_ordered) self.layout.addWidget(self.order_btn, 1, 0, 1, 2, alignment=Qc.Qt.AlignCenter)所以我有这个代码。它由带有两个 QScrollAreas 和一个按钮的网格布局组成。我需要将 self.menu 的大小设置为固定的,这样它就可以一直滚动到它不够大的时候。垂直已经这样做了,但是我如何将菜单调整为最大的小部件大小?将 WidgetResizeable 设置为 False 只会使 ScrollArea 为空。(不要看右边的区域,剩下的我会换的)我还应该提到,需要在单击 order_btn 时添加一些小部件。这就是布局代码的工作方式,但它破坏了间距和位置。
添加回答
举报
0/150
提交
取消