Я пытаюсь внести некоторые изменения в графический интерфейс. Мой графический интерфейс построен на QWidget. Первоначально у меня был только QPushButton в QWidget, который затем был удален и заменен на QGridlayout, содержащий кучу других вещей. Теперь я хочу, чтобы в QVBoxLayout изначально были две кнопки, которые удаляются, а QVBoxLayout удаляется и / или заменяется QGridLayout, в котором затем размещаются следующие элементы.
Проблема: я не могу удалить и / или заменить QVBosLayout на QGridLayout.
Минимальный воспроизводимый пример ниже. Вам нужен PyQt5 для запуска
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form():
def __init__(self):
self.nCode_analysis_set_up = QtWidgets.QWidget()
self.nCode_analysis_set_up.resize(300, 100)
self.nCode_analysis_set_up.setWindowFlags(self.nCode_analysis_set_up.windowFlags() | QtCore.Qt.MSWindowsFixedSizeDialogHint)
self.nCode_analysis_set_up.setWindowTitle("nCode analysis set-up")
self.Box = QtWidgets.QVBoxLayout(self.nCode_analysis_set_up)
self.importButton = QtWidgets.QPushButton(self.nCode_analysis_set_up)
self.importButton.setText("Open import model")
self.importButton.clicked.connect(self.input_model)
self.Box.addWidget(self.importButton)
def input_model(self):
self.importButton.deleteLater()
self.Box.deleteLater()
self.Box = QtWidgets.QGridLayout(self.nCode_analysis_set_up)
self.analysis_type_label = QtWidgets.QLabel(self.nCode_analysis_set_up)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
ui = Ui_Form()
ui.nCode_analysis_set_up.show()
sys.exit(app.exec_())