【问题标题】:PyQT5 Nested Layouts not showingPyQT5 嵌套布局未显示
【发布时间】:2021-01-05 08:53:45
【问题描述】:

我目前正在尝试使用 PyQT5,并尝试创建一个自定义小部件,其中包含带有一些标签的嵌套布局。 但是,当我尝试运行代码时,没有抛出任何错误,但窗口保持空白。 这可能是什么问题?

class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        self.setWindowTitle("This is a test")
        devicewidget = DeviceWidget()
        self.setCentralWidget(devicewidget)

class DeviceWidget(QWidget):
    def __init__(self, *args, **kwargs):
        super(DeviceWidget, self).__init__(*args, **kwargs)
        layout = QVBoxLayout()
        save_image_btn = QPushButton("Save Image")
        restore_image_btn = QPushButton("Install Image")

        device_size_layout = QHBoxLayout()
        device_size_desc_lbl = QLabel("Space:")
        device_size_lbl = QLabel("69420MB")
        device_size_layout.addWidget(device_size_desc_lbl)
        device_size_layout.addWidget(device_size_lbl)

        layout.addWidget(save_image_btn)
        layout.addWidget(save_image_btn)
        layout.addLayout(device_size_layout)

#Initialization
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()

为了清楚起见,这就是我目前正在努力完成的事情:

【问题讨论】:

  • 将layout = QVBoxLayout()更改为layout = QVBoxLayout(self)

标签: python python-3.x pyqt pyqt5 pyqt4


【解决方案1】:

解决方法是我忘记在 DeviceWidget 类中设置布局了。

self.setLayout(layout) or layout= QVBoxLayout(self) 

帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2012-08-17
    • 2015-10-14
    • 2021-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多