gpt4 book ai didi

c - 删除 GtkButton 的图像填充(内边框)?

转载 作者:行者123 更新时间:2023-11-30 18:09:03 25 4
gpt4 key购买 nike

在 C/GTK 中,有没有办法使用 gtk_button_set_image 删除具有图像的 GtkButton 的内边框?

gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); 有点完成了这项工作,但鼠标悬停显示它只是隐藏了它。

我更愿意在不使用 RC 样式的情况下执行此操作,但如果没有其他方法,我们将不胜感激,提供有关如何使用 RC 样式的示例。

基本上,我需要一种当鼠标悬停在 GtkButton 上时不产生“发光”效果的方法。

<小时/>

注意:此外,这是 gtk+ 2.0 的最新稳定版本

最佳答案

您可以使用 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;
}

关于c - 删除 GtkButton 的图像填充(内边框)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2869823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com