Я хочу удалить конкретную Qwidget
из QSplitter
(или QSplitter
с этим является лучшим выбором i вещи) после того, как я создаю 2-3 из них.Удалите определенный QWidget из QSplitter
Для этого мне нужно, чтобы я получил индекс каждого виджета, который я создаю.
Это мой код:
class Windows(self):
list1 = [widget1, widget2, widget3]
counter = 0
def __init__(self):
#A lot of stuff in here
self.splitter = QSplitter(Qt.Vertical)
self.spliiter_2 = QSplitter(Qt.Horizontal)
self.splitter_2.addwidget(self.splitter)
def addWidget(self):
if counter == 1:
self.splitter.addWidget(Windows.list1[0])
counter += 1
if counter == 2:
counter += 1
self.splitter.addWidget(Windows.list1[1])
if counter == 3:
self.splitter.addWidget(Windows.list1[2])
counter += 1
def deleteWidget(self):
??????????????
Как вы можете видеть выше, я создать QSplitter в классе Windows, а затем я создать еще один (self.splitter_2
), где я положил первый.
Каждый раз, когда я нажимаю комбинацию клавиш, я вызываю метод addWidget
и добавляет виджет (который зависит от счетчика переменных) из списка1.
Если я хочу удалить второй виджет (например), как я могу это сделать, не удаляя первый виджет ?. Я считаю, что мне нужен индекс, но я не знаю, как его получить.
Я создал кнопку, которая вызывает метод deleteWidget
, между прочим.
Я читал о форме hide()
, но я не знаю, как ее указать. Но я бы предпочел полностью удалить его.
Надеюсь, вы можете мне помочь.
Возможный дубликат [Как удалить QWidgets из QSplitter] (http://stackoverflow.com/questions/371599/how-to-remove-qwidgets-from-qsplitter) – ahmed
Спасибо за совет, но это не дубликат, потому что я прошу удалить «конкретный» виджет. Тот, который вы показываете (я видел это), удаляет весь виджет. –
Сначала вам нужно получить виджет, указатель или поиск в дочерних, а затем скрыть его. – ahmed