【问题标题】:Gtk IconView select multiple without Ctrl?Gtk IconView选择多个没有Ctrl?
【发布时间】:2023-06-02 04:06:01
【问题描述】:

是否可以让 Gtk IconView(在 pygtk 中)允许在不按下 Ctrl 键的情况下选择多个图标?

我基本上希望 Ctrl 的行为即使没有被按住也被按住。

【问题讨论】:

    标签: python gtk pygtk


    【解决方案1】:

    覆盖这种行为可能会使用户感到困惑。但是,如果您真的想这样做,我可以看到两种可能性:

    要么让IconView 相信 Ctrl 总是被按下:

    def force_ctrl(iv, ev): ev.state |= gtk.gdk.CONTROL_MASK
    iconview.connect('key-press-event', force_ctrl)
    iconview.connect('button-press-event', force_ctrl)
    

    或者您可以尝试自己实现选择行为,例如:

    def clicked(iv, ev):
        p = iv.get_path_at_pos(int(ev.x), int(ev.y))
        if not p is None:
            if iv.path_is_selected(p):
                iv.unselect_path(p)
            else:
                iv.select_path(p)
        return True # make the IconView ignore this click
    iconview.connect('button-press-event', clicked)
    

    【讨论】: