我有一个显示图像的按钮。
我想在鼠标悬停在它上面时显示一些文字(就像任何桌面图标一样,甚至HTML页面上的图像)。
我不确定是否有任何设施可以做到这一点,我找不到通过查看GtkButton课程。
当鼠标悬停在按钮顶部时,是否有人知道如何设置一些文字标签?
非常感谢!
答案 0 :(得分:4)
您可能正在寻找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> & 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;
}
希望这有帮助!