GTK +: отображение метки при наведении мыши на кнопку - PullRequest
1 голос
/ 22 ноября 2011

У меня есть кнопка, которая отображается с изображением.

Я хотел бы показать некоторый текст, когда мышь над ним зависает (как любой значок на рабочем столе, или даже изображения на страницах HTML).).

Я не уверен, есть ли какая-либо возможность сделать это, я не смог найти ее, посмотрев на класс GtkButton.

Кто-нибудь знает, пожалуйста, как я могу установить некоторые текстовые метки?когда мышь находится над кнопкой, пожалуйста?

Большое спасибо!

1 Ответ

4 голосов
/ 22 ноября 2011

Вы, вероятно, ищете GtkTooltip. В составе GtkWidget есть простые 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;
}

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...