【问题标题】:Hiding transition in Gtk在 Gtk 中隐藏过渡
【发布时间】:2016-12-24 23:03:44
【问题描述】:

这是 Gtk.SearchEntry 小部件上 question 的延续。

在那个问题中,我设法在单击图标时显示条目小部件,现在我希望小部件在失去焦点后消失。

现在使用的方法是:

    search_entry.icon_release.connect (hide_search)

并将 hide_search 定义为:

def hide_search()
    search_button_revealer.set_reveal = true
    search_entry_revealer.set_reveal = false
    show_all()

但是,这并不能解决问题。完整代码可以在here找到。

【问题讨论】:

    标签: gtk vala genie


    【解决方案1】:

    您似乎捕捉到了错误的信号。您拥有的是当您单击条目内的按钮时,而您需要的是focus_out_event,这是制作您想要的东西的vala代码:)

    search_entry.focus_out_event.connect (() => {
        // Make sure the entry is empty so you don't 
        // close it out on the user
        if (search_entry.get_text () == "") {
            hide_search ();
        }
    
        return false;
    });
    

    【讨论】:

    • 我不断收到:Cannot convert from Application.hide_search' 到 Gtk.Widget.focus_out_event' search_entry.focus_out_event.connect (hide_search) 使用该解决方案。我更新了问题中 pastebin 链接中的代码。
    • 回调需要一个Gdk.EventFocus 参数并且必须返回一个bool。见valadoc.org/gtk+-3.0/Gtk.Widget.focus_out_event.html对于精灵,我/think/的语法是def hide_search(e: Gdk.Event) : bool
    猜你喜欢
    • 1970-01-01
    • 2022-12-14
    • 1970-01-01
    • 2022-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多