GTK +:当鼠标悬停在按钮上时显示标签

Jar*_*ary 1 gtk

我有一个显示图像的按钮。

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

我不确定是否有这样做的工具,通过查看GtkButton类找不到任何工具。

请问有人将鼠标悬停在按钮上方时如何设置文本标签吗?

非常感谢你!

ano*_*ard 5

您可能正在寻找GtkTooltipGtkWidget设置和获取工具提示中包含一些简单的API 。使用gtk_widget_set_tooltip_text简单的文本添加为小部件或提示gtk_widget_set_tooltip_markup与添加文本Pango的标记语言。这是示例代码供您参考:

#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;
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!