从 QSplitter 中删除特定的 QWidget
Remove a specific QWidget from a QSplitter
我想在创建其中的 2-3 个之后从 QSplitter
中删除特定的 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):
??????????????
正如你在上面看到的,我在 class Windows 中创建了一个 QSplitter,然后我创建了另一个 (self.splitter_2
),我把第一个放到了那里。
每次我按下组合键时,我都会调用 addWidget
方法,它会从 list1 添加一个小部件(取决于变量计数器)。
如果我想删除第二个小部件(例如),我该怎么做,而不删除第一个小部件?。我想我需要索引,但我不知道如何获取它。
顺便说一句,我创建了一个调用 deleteWidget
方法的按钮。
我读到了 hide()
表格,但我不知道如何指定它。但是,我宁愿完全删除它。
希望你能帮助我。
您的 deleteWidget()
函数可能如下所示:
def deleteWidget(self, index):
delete_me = self.splitter.widget(index)
delete_me.hide()
delete_me.deleteLater()
我们需要 hide()
因为根据 documentation
When you hide() a child, its space will be distributed among the other
children.
我想在创建其中的 2-3 个之后从 QSplitter
中删除特定的 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):
??????????????
正如你在上面看到的,我在 class Windows 中创建了一个 QSplitter,然后我创建了另一个 (self.splitter_2
),我把第一个放到了那里。
每次我按下组合键时,我都会调用 addWidget
方法,它会从 list1 添加一个小部件(取决于变量计数器)。
如果我想删除第二个小部件(例如),我该怎么做,而不删除第一个小部件?。我想我需要索引,但我不知道如何获取它。
顺便说一句,我创建了一个调用 deleteWidget
方法的按钮。
我读到了 hide()
表格,但我不知道如何指定它。但是,我宁愿完全删除它。
希望你能帮助我。
您的 deleteWidget()
函数可能如下所示:
def deleteWidget(self, index):
delete_me = self.splitter.widget(index)
delete_me.hide()
delete_me.deleteLater()
我们需要 hide()
因为根据 documentation
When you hide() a child, its space will be distributed among the other children.