Windows GTK版本兼容吗?

时间:2015-08-02 12:28:18

标签: compatibility gtk2

我刚刚将GTK版本从2.10.11升级到2.24.10。我发现我在GTK 2.10.11中运行良好的代码在2.24.10中失败了。除GTK版本外,环境完全相同:

  • Windows中的MinGW + MSYS。 gcc版本是4.7.2。
  • 最新的GTK2 Windows版本是从GTK官方网站下载的。

随后是一个小代码。在GTK 2.24.10中,当切换页面时,每个页面中的条目是灰色的或说“不敏感”。但它在2.10.11中运作良好 - 该条目是可编辑的。那么,Windows GTK版本兼容吗?

    #include <gtk/gtk.h>

gint main (gint argc, gchar *argv[])
{
  GtkWidget *window, *notebook, *entry, *title;

  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroy), window);

  notebook = gtk_notebook_new ();
  gtk_notebook_set_tab_pos (GTK_NOTEBOOK (notebook), GTK_POS_TOP);

  entry = gtk_entry_new ();
  gtk_entry_set_text (GTK_ENTRY (entry), "123");
  title = gtk_label_new ("foo");
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), entry, title);

  entry = gtk_entry_new ();
  gtk_entry_set_text (GTK_ENTRY (entry), "456");
  title = gtk_label_new ("bar");
  gtk_notebook_append_page (GTK_NOTEBOOK (notebook), entry, title);

  gtk_container_add (GTK_CONTAINER (window), notebook);
  gtk_window_set_default_size (GTK_WINDOW (window), 400, 400);
  gtk_widget_show_all (window);

  gtk_main ();

  return 0;
}

编辑:

我认为最新的gtk win32版本 - 2.24.10有错误。只需运行gtk-demo,然后按下标签Source,然后返回标签Info,然后标签Info变为灰色,您无法看到内容标签。但是在版本2.22.1中不会发生这种情况。也许我应该向GTK报告这个错误,但我不知道这是一个错误还是我错过了什么。

0 个答案:

没有答案