【发布时间】:2011-11-22 06:33:45
【问题描述】:
我有一个带有图像的按钮。
我想在鼠标悬停在上面时显示一些文本(就像任何桌面图标一样,甚至是 HTML 页面上的图像)。
我不确定是否有任何工具可以做到这一点,通过查看 GtkButton 类我找不到任何工具。
请问有谁知道当鼠标悬停在按钮上时如何设置一些文本标签?
非常感谢!
【问题讨论】:
标签: gtk
我有一个带有图像的按钮。
我想在鼠标悬停在上面时显示一些文本(就像任何桌面图标一样,甚至是 HTML 页面上的图像)。
我不确定是否有任何工具可以做到这一点,通过查看 GtkButton 类我找不到任何工具。
请问有谁知道当鼠标悬停在按钮上时如何设置一些文本标签?
非常感谢!
【问题讨论】:
标签: gtk
您可能正在寻找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;
}
希望这会有所帮助!
【讨论】: