2011-11-22 216 views
1

我有一個與圖像一起顯示的按鈕。GTK +:鼠標懸停在按鈕上時顯示標籤

我想顯示一些文本,當鼠標懸停在它的頂部(如任何桌面圖標會做,甚至在HTML頁面上的圖像)。

我不確定是否有任何設施可以做到這一點,我找不到任何通過查看GtkButton類。

有沒有人請知道當鼠標懸停在按鈕上方時我可以設置一些文本標籤?

非常感謝!

回答

4

您可能在尋找GtkTooltip。有一些簡單的API作爲GtkWidget的一部分來設置&獲取工具提示。使用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; 
} 

希望這有助於您!

+0

這正是我一直在尋找的!非常感謝你! – Jary

相關問題