`from PyQt6.QtCore import QSize
from PyQt6.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton, QLabel, QVBoxLayout, QHBoxLayout
import sys
class SubWidget(QWidget):
def init(self, label_text, button_text, parent_layout) -> None:
super().init()
self.setProperty(“class”, “sub-widget”)
self.layout = QHBoxLayout()
self.parent_layout = parent_layout
self.label = QLabel(label_text)
self.button_delete = QPushButton(button_text)
self.button_delete.clicked.connect(self.delete_widget)
self.layout.addWidget(self.label)
self.layout.addWidget(self.button_delete)
self.setLayout(self.layout)
def delete_widget(self):
self.setParent(None)
self.parent_layout.removeWidget(self)
self.deleteLater()
class MainWindow(QMainWindow):
def init(self) -> None:
super().init()
self.setProperty(“class”, “main-window”)
self.setWindowTitle(“Widget”)
self.setFixedSize(QSize(350, 500))
central_widget = QWidget(self)
self.setCentralWidget(central_widget)
self.main_layout = QVBoxLayout(central_widget)
self.widget_layout = QVBoxLayout()
self.main_layout.addLayout(self.widget_layout)
create_label_btn = QPushButton(“Create”)
self.main_layout.addWidget(create_label_btn)
def create_label() -> None:
new_widget = SubWidget(“New Label”, “Delete”, self.widget_layout)
self.widget_layout.addWidget(new_widget)
`
idk how decide this problems, i try all what i know
Danil __B is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.