1

ここから以下に示すチュートリアルに従っています: http://zetcode.com/tutorials/gtktutorial/firstprograms/

私の問題は、アイコンが表示されないことです。私のオペレーティングシステムはUbuntuです。サイズとファイルの種類が異なるいくつかのアイコンを試してみましたが、どれも機能しません。1 つは幅 25 ピクセル、高さ 19 ピクセルの .png で、もう 1 つは幅 185 ピクセル、高さ 210 ピクセルの .jpg です。ここでこれを制御する行で参照されているファイルを変更しました(何もしませんでした): gtk_window_set_icon(GTK_WINDOW(window), create_pixbuf("web.png"));

メニューにアイコンを表示するオプションを有効にして、gnome の構成エディターで設定を変更してみました。

私はいくつかをグーグルで調べましたが、役立つものは何も見つかりませんでした。^_*

読んでくれてありがとう。

あなたの仲間、

ユーザー2085446

#include <gtk/gtk.h>

GdkPixbuf *create_pixbuf(const gchar * filename)
{
    GdkPixbuf *pixbuf;
    GError *error = NULL;
    pixbuf = gdk_pixbuf_new_from_file(filename, &error);
    if(!pixbuf) {
      fprintf(stderr, "%s\n", error->message);
       g_error_free(error);
    }

  return pixbuf;
}

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

   gtk_init(&argc, &argv);

   window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title(GTK_WINDOW(window), "icon");
   gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
   gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
   gtk_window_set_icon(GTK_WINDOW(window), create_pixbuf("web.png"));
   gtk_widget_show(window);

   g_signal_connect_swapped(G_OBJECT(window), "destroy",
      G_CALLBACK(gtk_main_quit), NULL);

   gtk_main();

   return 0;
}
4

2 に答える 2

0

すべてのウィンドウ マネージャー テーマのタイトル バーにアイコンが表示されるわけではありません。Ubuntuのデフォルトのものはそうではないと思います。(gtk_window_set_icon関数は単なるヒントであり、ウィンドウ マネージャーは自由に無視できます。) @syler のスクリーンショットを見ると、デフォルトの Ubuntu テーマを使用していないため、アイコンが表示されます。

于 2013-06-05T06:57:17.210 に答える