Удалить отступы изображения GtkButton (внутренняя граница)? - PullRequest
0 голосов
/ 20 мая 2010

В C / GTK, есть ли способ удалить внутреннюю границу для GtkButton, у которого есть изображение, используя gtk_button_set_image?

gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); вроде сделал работу, но наведение мыши показало, что оно просто скрывает это.

Я бы предпочел сделать это без использования стиля RC, но если нет другого способа, пример использования стилей RC был бы признателен.

По сути, мне нужен способ не иметь эффекта "свечения", когда мышь наводит GtkButton.


Примечание. Кроме того, это последняя стабильная версия gtk + 2.0

1 Ответ

0 голосов
/ 29 декабря 2011

Вы можете использовать GtkStyle, чтобы отключить кнопку "свечение".

Пример:

#include <gtk/gtk.h>

static void destroy (GtkWidget *widget, gpointer data){
    gtk_main_quit();
}

int main( int argc, char *argv[]){

    GtkWidget *window;
    GtkWidget *button;
    GtkStyle *style;

    gtk_init(&argc, &argv);

    /* window */
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
    gtk_window_set_title(GTK_WINDOW (window), "my Program");
    gtk_widget_set_usize(window,200,150);
    gtk_window_set_position(GTK_WINDOW (window),GTK_WIN_POS_CENTER);
    gtk_signal_connect (GTK_OBJECT (window), "destroy", GTK_SIGNAL_FUNC(destroy),NULL);

    /* Create a new button (NO GLOW) */
    button = gtk_button_new_with_label ("Exit");
    /*-------------------------------------------------------------*/
    style = gtk_widget_get_style(button);
    style->bg[GTK_STATE_PRELIGHT] = style->bg[GTK_STATE_NORMAL];
    gtk_widget_set_style(button, style);
    /*-------------------------------------------------------------*/
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_signal_connect (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (destroy), NULL);


    gtk_widget_show(button);
    gtk_widget_show(window);
    gtk_main();

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