2011-01-24 53 views
0

编辑包含路径的GtkTreeViewcolumn时,我试图显示GtkFileChooserDialog显示包含路径的树视图列的文件选择对话框

我已经想出了2种可能的方式来实现这一点:

  1. 勾上GtkCellRendererText显示的路径"editing-started"信号。但是,这仍然需要在单元内完成“编辑”。我无法显示对话框,然后显示通常的编辑过程。
  2. 添加“...”按钮into the column。在按钮上捕捉"clicked"信号,并使用它显示对话框。然而,只有GtkCellRenderer可以添加到列,所以我不知道如何实现这一点。

我该怎么办?在GtkTreeView中编辑路径的标准方法是什么?

回答

1

您可以覆盖CellRendererText的do_start_editing方法来彻底改变自己的行为:

class CellRendererFile(gtk.CellRendererText): 
    def __init__(self): 
     gtk.CellRendererText.__init__(self) 
     self.props.editable = True 

    def do_start_editing(self, event, widget, path, background_area, cell_area, flags): 
     # TODO: Show dialog. 
     self.emit('edited', path, "TODO: Dialog output") 

gobject.type_register(CellRendererFile) 

,然后只用正常,连接到“编辑”的信号。

+0

我试图通过在“编辑开始”处理程序中调用self.editing_stopped,并没有工作。我会试试这种方式,谢谢。 – 2011-01-27 02:32:58

相关问题