问题描述
我目前正在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,**kwargs):
super(DeviceWidget,**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_()
解决方法
解决方案是我忘记在DeviceWidget类中设置布局。
self.setLayout(layout) or layout= QVBoxLayout(self)
有帮助。