微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

布局的中央小部件位置

如何解决布局的中央小部件位置

有没有办法在 qmain 窗口的中央小部件中定位或调整布局大小。

我正在尝试使用 QMainWindow 编写应用程序。我在中央小部件中设置了不同的布局,但这些小部件的间距完全不同

class MainApp(QMainWindow):

    def __init__(self,parent = None):
        super().__init__(parent)
    
        self.statusBar().showMessage('Select any option to proceed',3000)
    
        self.setwindowTitle("CH APTMO App")
        self.setGeometry(100,100,1050,600)
        self.setFixedSize(self.size())
    
        self.central_widget = QStackedWidget()
        self.setCentralWidget(self.central_widget)


class InsideWidget(QWidget):
    def __init__(self,parent=None):
        super().__init__(parent)
        self.From = QLabel("From")
        self.To = QLabel("To")
        self.Type = QLabel("Type")
        self.Number = QLabel("Number")
      
        from_list = ["val1","val2","val3"]
        self.fromentry = QComboBox()
        self.fromentry.setEditable(True)
        self.fromentry.addItems(from_list)
        self.toentry = QLineEdit()
        self.typeentry = QLineEdit()
        self.numentry = QLineEdit()
       
        self.receivebaglayout = qgridLayout()
       
        self.receivebaglayout.addWidget(self.From,0)
        self.receivebaglayout.addWidget(self.To,1)
        self.receivebaglayout.addWidget(self.Type,2)
        self.receivebaglayout.addWidget(self.Number,3)
    
        self.receivebaglayout.addWidget(self.fromentry,1,0)
        self.receivebaglayout.addWidget(self.toentry,1)
        self.receivebaglayout.addWidget(self.typeentry,2)
        self.receivebaglayout.addWidget(self.numentry,3)
    
        self.receivebaglayout.setSpacing(10)
    
        self.setLayout(self.receivebaglayout)

布局乱七八糟中央小部件的网格布局是这样的

显示第 1 行和第 2 行之间的间距的图片

picture showing the spacing between row 1 and 2

如果我们向网格布局添加了许多小部件,它会得到适当的调整。但是当小部件较少时,它会遍布整个中央小部件布局。

我们怎么能阻止它?

添加了预期的输出

预期的输出

The output expected

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。