Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何删除pygtk中的父复选框_Python_Python 2.7_Treeview_Gtk_Pygtk - Fatal编程技术网

Python 如何删除pygtk中的父复选框

Python 如何删除pygtk中的父复选框,python,python-2.7,treeview,gtk,pygtk,Python,Python 2.7,Treeview,Gtk,Pygtk,我在pygtk中创建了一个树洞。一切都很好,唯一的问题是,我不想要专利。你可以在下图中看到 Computer1 [ ]-----This checkbox I don't want C drive [ ] D drive [ ] E drive [ ] 我写的代码是 self.view = gtk.TreeView( model ) self.renderer = gtk.CellRendererText() self.renderer.set_property( 'e

我在pygtk中创建了一个树洞。一切都很好,唯一的问题是,我不想要专利。你可以在下图中看到

Computer1 [ ]-----This checkbox I don't want
    C drive [ ]
    D drive [ ]
    E drive [ ]
我写的代码是

self.view = gtk.TreeView( model )
self.renderer = gtk.CellRendererText()
self.renderer.set_property( 'editable', False )

self.renderer1 = gtk.CellRendererToggle()
self.renderer1.set_property('activatable', True)
self.renderer1.connect( 'toggled', self.col1_toggled_cb, model )

self.column0 = gtk.TreeViewColumn("Computer Name", self.renderer, text=0)

self.column1 = gtk.TreeViewColumn("Select Drive", self.renderer1 )
self.column1.add_attribute( self.renderer1, "active", 1)
self.view.append_column( self.column0 )
self.view.append_column( self.column1 )

self.tree_store = gtk.TreeStore( gobject.TYPE_STRING,
                                 gobject.TYPE_BOOLEAN )
for item in tasks.keys():
    parent = self.tree_store.append( None, (item, None) )
    if len(tasks[item])>1:
        for x in range(0,len(tasks[item])):                    
                self.tree_store.append( parent, (tasks[item][x],1) )
    else:
        self.tree_store.append( parent, (tasks[item][0],None) )

展开树存储以包含一个布尔值,该布尔值指定复选框是否可见,并将复选框呈现器的
可见
属性与树存储中的值连接。您可以通过调用
add\u attribute

self.column1.add_attribute( self.renderer1, "visible", 2)
…或将名为like属性的关键字参数添加到
gtk.TreeViewColumn
构造函数中。下面是一个小的可运行示例,演示了上述所有内容:

import gtk, gobject

tree_store = gtk.TreeStore(gobject.TYPE_STRING,
                           gobject.TYPE_BOOLEAN,
                           gobject.TYPE_BOOLEAN )
root = tree_store.append(None, ("Computer 1", False, False))
tree_store.append(root, ("C drive", False, True))
tree_store.append(root, ("D drive", True, True))

view = gtk.TreeView(tree_store)
renderer1 = gtk.CellRendererText()
renderer2 = gtk.CellRendererToggle()

view.append_column(gtk.TreeViewColumn("Computer Name",
                                      renderer1, text=0))
view.append_column(gtk.TreeViewColumn("Select Drive",
                                      renderer2, active=1, visible=2))
w = gtk.Window()
w.add(view)
w.show_all()
gtk.main()

在上图中,我无法限制父列的可编辑性。我只希望数据库子列应该是可编辑的,而不是不可编辑的。请让我知道我在做什么。我试过一些解决办法,但不起作用。请帮帮我。@Amit抱歉,我不明白什么不适合你。也许你应该问一个关于这个新问题的单独问题?谢谢,你能看到我的新帖子并让我给出解决方案吗