免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 10423 | 回复: 3
打印 上一主题 下一主题

在windows 下安装GTK+ 2.0 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-16 02:54 |只看该作者 |倒序浏览
想请问有详细安装步骤教学资料吗???

因为我觉得linux 有点麻烦想说先在windows 上试试看

谢谢

论坛徽章:
0
2 [报告]
发表于 2007-03-17 15:52 |只看该作者
可在下面的 Glade for Windows 网页上下载 Gtk+/Win32 开发环境软件包,可直接安装:
http://gladewin32.sourceforge.net/modules/news/

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
3 [报告]
发表于 2007-03-17 16:41 |只看该作者
我已經安裝了 Gtk+/Win32 Development Environment  + Gtk+/Win32 Runtime Environment + mingw

如果我在用 command line 編譯下面這HelloGTK.c代碼 我應該要如何下指令才正確?
我下
gcc -mwindows -mms-bitfields -s -Wall Hello.c -o HelloGTK `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`

或是

gcc -mwindows -mms-bitfields -s -Wall Hello.c -o HelloGTK pkg-config --cflags gtk+-2.0 pkg-config --libs gtk+-2.0

兩種都失敗 , 要怎麼才能使用command line 編譯Hello.c 這gtk 代碼?



  1. #include <gtk/gtk.h>

  2. /* 這是一個回呼函式。data 引數在本示例中被忽略。
  3. * 後面有更多的回呼函式示例。*/
  4. void hello( GtkWidget *widget,
  5.             gpointer   data )
  6. {
  7.     g_print ("Hello World\n");
  8. }

  9. gint delete_event( GtkWidget *widget,
  10.                    GdkEvent  *event,
  11.                    gpointer   data )
  12. {
  13.     /* 如果你的 "delete_event" 信號處理函式傳回 FALSE,GTK 會發出 "destroy" 信號。
  14.      * 傳回 TRUE,你不希望關閉視窗。
  15.      * 當你想彈出「你確定要結束嗎?」對話框時它很有用。*/

  16.     g_print ("delete event occurred\n");

  17.     /* 改 TRUE 為 FALSE 程式會關閉。*/

  18.     return TRUE;
  19. }

  20. /* 另一個回呼函式 */
  21. void destroy( GtkWidget *widget,
  22.               gpointer   data )
  23. {
  24.     gtk_main_quit ();
  25. }

  26. int main( int   argc,
  27.           char *argv[] )
  28. {
  29.     /* GtkWidget 是構件的儲存型別 */
  30.     GtkWidget *window;
  31.     GtkWidget *button;
  32.    
  33.     /* 這個函式在所有的 GTK 程式都要呼叫。引數由命令列  中解析出來並且送到該程式中*/
  34.     gtk_init (&argc, &argv);
  35.    
  36.     /* 生成一個新視窗 */
  37.     window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  38.    
  39.     /* 當視窗收到 "delete_event" 信號 (這個信號由視窗管理器發出,通常是「關閉」
  40.      * 選項或是標題欄上的關閉按鈕發出的),我們讓它呼叫在前面定義的 delete_event() 函式。
  41.      * 傳給回呼函式的 data 引數值是 NULL,它會被回呼函式忽略。*/
  42.     g_signal_connect (G_OBJECT (window), "delete_event",
  43.                       G_CALLBACK (delete_event), NULL);
  44.    
  45.     /* 在這裡我們連結 "destroy" 事件到一個信號處理函式。  
  46.      * 對這個視窗呼叫 gtk_widget_destroy() 函式或在 "delete_event" 回呼函式中傳回 FALSE 值
  47.      * 都會觸發這個事件。*/
  48.     g_signal_connect (G_OBJECT (window), "destroy",
  49.                       G_CALLBACK (destroy), NULL);
  50.    
  51.     /* 設置視窗邊框的寬度。*/
  52.     gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  53.    
  54.     /* 生成一個標籤為 "Hello World" 的新按鈕。*/
  55.     button = gtk_button_new_with_label ("Hello World");
  56.    
  57.     /* 當按鈕收到 "clicked" 信號時會呼叫 hello() 函式,並將NULL傳給
  58.      * 它作為引數。hello() 函式在前面定義了。*/
  59.     g_signal_connect (G_OBJECT (button), "clicked",
  60.                       G_CALLBACK (hello), NULL);
  61.    
  62.     /* 當點擊按鈕時,會通過呼叫 gtk_widget_destroy(window) 來關閉視窗。
  63.      * "destroy" 信號會從這裡或從視窗管理器發出。*/
  64.     g_signal_connect_swapped (G_OBJECT (button), "clicked",
  65.                               G_CALLBACK (gtk_widget_destroy),
  66.                               window);
  67.    
  68.     /* 把按鈕放入視窗 (一個 gtk 容器) 中。*/
  69.     gtk_container_add (GTK_CONTAINER (window), button);
  70.    
  71.     /* 最後一步是顯示新生成的按鈕和視窗 */
  72.     gtk_widget_show (button);
  73.     gtk_widget_show (window);
  74.    
  75.     /* 所有的 GTK 程式必須有一個 gtk_main() 函式。程式運行停在這裡
  76.      * 等待事件 (如鍵碟事件或滑鼠 事件) 的發生。*/
  77.     gtk_main ();
  78.    
  79.     return 0;
  80. }

复制代码
  

謝謝

论坛徽章:
0
4 [报告]
发表于 2007-03-17 20:37 |只看该作者
问题已经变成你这个帖子中的了:http://bbs.chinaunix.net/viewthr ... &extra=page%3D1,到那里去吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP