【问题标题】:GTK+: Showing a label when mouse is hovering on a buttonGTK+:当鼠标悬停在按钮上时显示标签
【发布时间】:2011-11-22 06:33:45
【问题描述】:

我有一个带有图像的按钮。

我想在鼠标悬停在上面时显示一些文本(就像任何桌面图标一样,甚至是 HTML 页面上的图像)。

我不确定是否有任何工具可以做到这一点,通过查看 GtkButton 类我找不到任何工具。

请问有谁知道当鼠标悬停在按钮上时如何设置一些文本标签?

非常感谢!

【问题讨论】:

    标签: gtk


    【解决方案1】:

    您可能正在寻找GtkTooltip。 GtkWidget 中有一些简单的 API 可用于设置和获取工具提示。使用gtk_widget_set_tooltip_text 添加简单文本作为小部件的提示,或使用gtk_widget_set_tooltip_markup 添加文本Pango markup language。这是一个示例代码供您参考:

    #include <gtk/gtk.h>
    
    int main(void)
    {
        GtkWidget *window;
        GtkWidget *vbox;
        GtkWidget *button0;
        GtkWidget *button1;
    
        gtk_init(NULL, NULL);
    
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    
        vbox = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(window), vbox);
    
        button0 = gtk_button_new_with_label("Normal tip");
        gtk_widget_set_tooltip_text(button0, "Simple tip");
    
        button1 = gtk_button_new_with_label("Markup tip");
        gtk_widget_set_tooltip_markup(button1, "This is <b>bold</b> &amp; this is <i>italics</i>");
    
        gtk_box_pack_start(GTK_BOX(vbox), button0, 1, 1, 1);
        gtk_box_pack_start(GTK_BOX(vbox), button1, 1, 1, 1);
    
        gtk_widget_show_all(window);
    
        gtk_main();
    
        return 0;
    }
    

    希望这会有所帮助!

    【讨论】:

    • 这正是我想要的!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    相关资源
    最近更新 更多