Python Gtk Grid 删除所有行
Python Gtk Grid removing all rows
我认为这对我来说很容易,但我试图从 Gtk.Grid 中删除所有行(以用不同长度的新数据填充它)但仍然有问题。
我试过如下,行=0或1,改变行(行=行+1)或不改变行,因为我不知道在删除上面的行后做什么,试过'!= None ' 或没有 '!=None' 和其他选项,但仍然没有:
row=0
while(self.grid.get_child_at(1,row)!=None):
self.grid.remove_row(row)
row=row+1
我得到的只是从网格中删除一行。
我也尝试删除整个网格,但在创建小部件之前删除小部件时出现问题(开始时)
if (self.grid):
{remove}
对我不起作用。我必须补充一点,网格不是在程序的主要部分填充的(并且我试图删除它)。
首先,如果要显示数据,请使用 GtkTreeView
/Store
。这是制作的,用于显示超过 100 个项目的数据和规模。
骇人听闻的方法:
另一种选择可能是只破坏网格,这反过来又会破坏它的孩子。但老实说,这只会隐式执行上述循环。您也可以将上述循环包装在一个函数中并调用它。
while True:
if self.grid.get_child_at(0,1)!= None:
self.grid.remove_row(1)
else:
break
当然,如果您只有第 1 列或更大的子项,这将不起作用。您也必须搜索这些(self.grid.get_child_at(1,1)、self.grid.get_child_at(2,1) 等)。
我认为这对我来说很容易,但我试图从 Gtk.Grid 中删除所有行(以用不同长度的新数据填充它)但仍然有问题。 我试过如下,行=0或1,改变行(行=行+1)或不改变行,因为我不知道在删除上面的行后做什么,试过'!= None ' 或没有 '!=None' 和其他选项,但仍然没有:
row=0
while(self.grid.get_child_at(1,row)!=None):
self.grid.remove_row(row)
row=row+1
我得到的只是从网格中删除一行。 我也尝试删除整个网格,但在创建小部件之前删除小部件时出现问题(开始时)
if (self.grid):
{remove}
对我不起作用。我必须补充一点,网格不是在程序的主要部分填充的(并且我试图删除它)。
首先,如果要显示数据,请使用 GtkTreeView
/Store
。这是制作的,用于显示超过 100 个项目的数据和规模。
骇人听闻的方法: 另一种选择可能是只破坏网格,这反过来又会破坏它的孩子。但老实说,这只会隐式执行上述循环。您也可以将上述循环包装在一个函数中并调用它。
while True:
if self.grid.get_child_at(0,1)!= None:
self.grid.remove_row(1)
else:
break
当然,如果您只有第 1 列或更大的子项,这将不起作用。您也必须搜索这些(self.grid.get_child_at(1,1)、self.grid.get_child_at(2,1) 等)。