为了账号安全,请及时绑定邮箱和手机立即绑定

PyQt5 将小部件大小设置为最小值并修复

PyQt5 将小部件大小设置为最小值并修复

料青山看我应如是 2021-09-02 20:29:38
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 时添加一些小部件。这就是布局代码的工作方式,但它破坏了间距和位置。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信