2017-03-28 9 views
0

라벨이있는 버튼에 이미지를 추가하려하지만 이미지가 표시되지 않고 깨진 이미지가 표시되지 않습니다. GTK가있는 버튼에 이미지를 추가하는 방법

stop_button = gtk_button_new_with_label("stop"); 
image = gtk_image_new_from_file ("/home/cendit/Escritorio/index.jpeg"); 
gtk_button_set_image (GTK_BUTTON(stop_button),image); 

나는 다른 경로 "파일 : ///home/cendit/Escritorio/index.jpeg"을 시도했지만 실패했습니다.

답변

0

이 요 당신은 버튼 기본적으로 보이지 않는 내부에서 우리가 GTK + 2에서 전환으로, 이미지를

GtkSettings *default_settings = gtk_settings_get_default(); 
g_object_set(default_settings, "gtk-button-images", TRUE, NULL); 
+0

GtkSetting을 변경하면 다른 버튼에도 아이콘이 표시됩니다. 이는 질문과 관련이 없습니다. – ebassi

1

이미지를 표시하려면이 옵션을 추가 할 필요가

GtkImage *imagen_pantalla_completa; 
GtkWidget *pantalla_completa; 

pantalla_completa = gtk_button_new_with_label("");             
imagen_pantalla_completa = (GtkImage *)gtk_image_new_from_file("/home/user..."); 
gtk_button_set_image (GTK_BUTTON(pantalla_completa),(GtkWidget *)imagen_pantalla_completa); 

해야 할 것입니다. x에서 3.x까지. 안타깝게도이 변경 사항을 반영하기 위해 API가 정리되지 않았으므로 다소 함정입니다. 당신이 그 안에 이미지와 버튼을 표시하려면

, 당신은 사용할 수 있습니다

GtkWidget *image = gtk_image_new_from_file ("..."); 
GtkWidget *button = gtk_button_new(); 

gtk_button_set_image (GTK_BUTTON (button), image); 

을 다른 한편으로는, 텍스트 및 내부 이미지 모두 버튼을 갖고 싶어 다음과 같이 사용할 수 있습니다.

GtkWidget *image = gtk_image_new_from_file ("..."); 
GtkWidget *button = gtk_button_new_with_label ("..."); 

gtk_button_set_always_show_image (GTK_BUTTON (button), TRUE); 
gtk_button_set_image (GTK_BUTTON (button), image); 

자세한 내용은 gtk_button_set_image()의 설명서를 참조하십시오.