Python 显示包含路径的树状视图列的文件选择对话框

Python 显示包含路径的树状视图列的文件选择对话框,python,gtk,pygtk,gtktreeview,Python,Gtk,Pygtk,Gtktreeview,我试图在编辑包含路径的时显示 我提出了两种可能的实现方法: 将信号挂在显示路径的上。但是,这仍然需要在单元格内进行“编辑”。我无法显示对话框,然后显示通常的编辑过程 添加一个“…”按钮。捕捉按钮上的信号,并使用此按钮显示对话框。但是,只有s可以添加到列中,所以我不知道如何实现这一点 我应该如何进行?在GtkTreeView中编辑路径的标准方法是什么?您可以覆盖CellRenderText的do\u start\u editing方法以完全更改其行为: class CellRendererFile

我试图在编辑包含路径的时显示

我提出了两种可能的实现方法:

  • 将信号挂在显示路径的上。但是,这仍然需要在单元格内进行“编辑”。我无法显示对话框,然后显示通常的编辑过程
  • 添加一个“…”按钮。捕捉按钮上的信号,并使用此按钮显示对话框。但是,只有s可以添加到列中,所以我不知道如何实现这一点

  • 我应该如何进行?在
    GtkTreeView
    中编辑路径的标准方法是什么?

    您可以覆盖CellRenderText的
    do\u start\u 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)
    

    然后正常使用,连接到“edited”信号。

    我通过调用self.editing\u stopped在“editing started”处理程序中尝试了这个方法,但没有成功。我就这样试试,谢谢。