`

win7 64位系统下gtk+ pygtk glade 开发环境配置

 
阅读更多

目标:最小化安装gtk glade pygtk,使用cygwin中的开发工具链进行gtk的开发和pygtk的开发,能使用glade进行界面设计。

 

    开发环境是使用cygwin提供的工具,如make等等。所安装的程序库、Python环境和编译器mingw64都是win32的原生程序,并不依赖于cygwin1.dll。

 

 

一、准备工作:

    由于cygwin的gcc在64位win7下使用存在问题。在链接阶段会出现“Resource temporarily unavailable ”错误。需要使用mingw64来进行编译。mingw64现在已经可以通过cygwin的setup直接安装。安装完成后可以使用i686-w64-mingw32-gcc来编译和链接程序。编译和链接的要分步进行,否则会出现类似找不到lib的错误。MS是单步进行的时候使用的链接器不是mingw64提供的链接器所引起的,没有细究了。

 

二、安装gtk+

    由于gtk开发需要gtk dev和运行库、pygtk也需要运行库,因此我们可以直接选用gtk+项目所提供的all in one bundle。这个包提供了GTK开发所需要的第三方库,也包含了GTK的开发库和运行库。将all in one bundle解开后,将它的bin目录添加到PATH。这时就可以在cygwin用make进行编译了。测试用的Makefile如下

 

CC=i686-w64-mingw32-gcc
GTK_PATH=d:/GTK

CFLAGS=-mms-bitfields -I$(GTK_PATH)/include/gtk-2.0 -I$(GTK_PATH)/lib/gtk-2.0/include -I$(GTK_PATH)/include/atk-1.0 -I$(GTK_PATH)/include/cairo -I$(GTK_PATH)/include/gdk-pixbuf-2.0 -I$(GTK_PATH)/include/pango-1.0 -I$(GTK_PATH)/include/glib-2.0 -I$(GTK_PATH)/lib/glib-2.0/include -I$(GTK_PATH)/include -I$(GTK_PATH)/include/freetype2 -I$(GTK_PATH)/include/libpng14 -Wall

LFLAGS=-L$(GTK_PATH)/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl


gtk_hello:
	$(CC)  -c gtk_hello.c -o gtk_hello.o $(CFLAGS)
	$(CC)  -o gtk_hello.exe gtk_hello.o $(LFLAGS)
 

 

三、安装pygtk

    pygtk项目官网也提供了all-in-one安装程序,里头也包含了一个gtk的运行库,这个我们并不需要。我们只需要选择安装PyGTK,PyCairoPyGObject这三个python库就可以了,底层的dll仍然由之前安装的gtk all in one bundle提供。安装完上面三个Python程序库后,可以用下面的代码测试pygtk安装是否正常:

 

import pygtk
pygtk.require('gtk-2.0')
import pygtk.gtk

如果出现dll找不到之类的错误,可以查看下windows/system32目录下是否有zlib1.dll这个文件。如果有可以试试用GTK+安装目录的bin/zlib1.dll来覆盖它。我的机器上的情况是system32下的这个文件的版本为1.2.3,而GTK带的版本为1.2.5。

 

四、安装glade

    适用于gtk+ 2的glade可以从http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.8/下载。这里提供了几个不同的版本,glade3-bundle_3.8.1-1-20111123_win32.zip里带了gtk运行库,我们虽然不需要使用,但是仍然需要下载它,因为其它包里缺少一些文件,要由这个包提供。

     我们直接使用的是glade3_3.8.1-1_win32.zip,这个包不带GTK运行环境,只包含glade程序本身。将这个包里的文件直接复制到GTK安装目录,它就可以使用之前安装的GTK库了。这时运行glade会提示找不到libxml2-2.dll,可以从glade3-bundle_3.8.1-1-20111123_win32.zip把这个文件复制到GTK安装目录的bin目录下。

 

  我们还需要用glade3-bundle_3.8.1-1-20111123_win32.zip中的share/icons/hicolor覆盖GTK安装目录下的share/icons/hicolor。这是因为glade3_3.8.1-1_win32.zip中还缺少一些图片资源,有些图标会显示不出来。

 

 

0
4
分享到:
评论

相关推荐

    GTK+、glade学习(C、Python实现)

    GTK+和Glade是Linux平台下开发图形用户界面(GUI)的重要工具,广泛应用于各种桌面应用和嵌入式系统。GTK+是一个用C语言编写的开源GUI库,它提供了丰富的控件和事件处理机制,而Glade则是一个设计工具,用于帮助...

    用 python+pygtk+glade3 实现Yahoo翻译桌面版.docx

    ### 使用Python + PyGTK + Glade3实现Yahoo翻译桌面版的知识点详解 #### 一、项目背景与目标 本项目旨在开发一款基于Python语言的桌面应用程序,利用Yahoo翻译服务实现英汉互译功能。该应用结合PyGTK库完成图形...

    用python+pygtk+glade3实现Yahoo翻译桌面版.pdf

    PyGTK是一个Python绑定库,用于使用GTK+图形用户界面工具包,而Glade3则是一个GUI设计工具,可以简化UI的布局和设计。以下是对这个项目的关键知识点的详细说明: 1. **Python**: Python是一种高级、通用的编程语言...

    pygtk+glade 线性规划求解

    "pygtk+glade 线性规划求解"项目结合了Python编程语言、GTK+图形用户界面库和Glade设计工具,为用户提供了一个直观的方式来解决线性规划问题。 首先,让我们深入了解一下线性规划的基本概念。线性规划问题通常表示...

    Linux应用程序开发指南:使用Gtk+ Gnome库

    在Linux操作系统中,开发桌面应用程序是一项常见的任务,而Gnome桌面环境和Gtk+库为开发者提供了强大的工具。本文将深入探讨“Linux应用程序开发指南:使用Gtk+ Gnome库”这一主题,详细介绍如何利用这些工具创建...

    pyGTK examples

    这可能是指集成开发环境(IDE)的相关示例,如如何在 IDE 中设置 PyGTK 项目,或者使用特定 IDE 的扩展来调试和运行 PyGTK 代码。 8. **gtk** 这个目录可能包含了更多关于 GTK+ 原生组件的使用示例,比如布局管理...

    glade的使用源代码

    例如,使用Python和PyGTK,你可以使用`gtk.Builder`类加载glade文件,并通过对象ID获取小部件,然后连接信号和回调函数。 在提供的链接中,作者Tennysonsky详细介绍了如何将Glade设计的界面整合到C语言的GTK+程序中...

    PyGTK中文版

    自此,GTK+成了 Linux 和 BSD Unix 下最流行的工具包之一。 PyGTK 教程是为当前 Python 2.x 的版本所写。现在 Python 是由来自世界各地的一大群志愿者维护。PyGTK 非常容易使用,对于速成原型法,它是相当理想的。...

    pygtk 中文教程(完整版) 最新 一叶知秋 PDF

    - **应用场景**:使用GTK+开发的应用程序涵盖了从桌面环境(如Gnome和XFce)到各种工具和应用(如Firefox浏览器、Inkscape矢量图形编辑器)等多个方面。 #### 4. PyGTK编程入门 - **示例程序**:下面是一个简单的...

    GTK + R-开源

    R是一种强大的统计计算和图形生成工具,而GTK+是一个广泛使用的跨平台GUI(图形用户界面)开发框架,支持多种操作系统,包括Linux、Windows和macOS。 GTK+(GIMP Toolkit Plus)是一个用C语言编写的开源库,它提供...

    python GTK 中文教程

    在介绍Python GTK中文教程之前,首先要理解GTK+和PyGTK的概念。GTK+是一个跨平台的图形用户界面库,最初是为GIMP图像处理程序而创建,其发展已经远远超出了最初的用途。它使用C语言编写,并且拥有面向对象的结构,是...

    PyGTK教程(中文版)

    - **GTK+** (GIMP Tool Kit) 是一个用于创建图形用户界面的库,最初是为了GIMP图像编辑器而开发的,后来成为Linux和BSD Unix环境下最流行的GUI工具包之一。GTK+ 是用C语言编写的。 - **PyGTK的核心模块** 包括: -...

    Glade 3-3.6.1 for Python GUI

    Glade 3-3.6.1 是一个强大的工具,专为使用Python开发图形用户界面(GUI)设计的。这个版本是Glade的特定迭代,它集成了GTK+库,使得开发者可以创建美观且功能丰富的应用程序。在本文中,我们将深入探讨Glade、...

    windows下galde3-3.6.7安装程序

    4. **安装程序**:`glade3-3.6.7-with-GTK.exe` 是Windows下的可执行安装文件,这表明它包含了所有必要的组件,包括GTK+运行时环境,以便在Windows系统上顺利安装和运行Glade3。 5. **安装步骤**: - 下载:首先,...

    python GTK高级编程

    本书系统地介绍了使用PyGTK进行GUI开发的方法和技术,适合希望深入掌握Python GUI编程的专业人士及爱好者阅读。 #### 二、PyGTK概述 PyGTK是Python语言的一个扩展库,用于编写GTK+应用程序。GTK+是一种广泛使用的多...

    python 库Tkinter 快速搭建GUI界面 工具Glade 的使用

    Glade支持多种GUI工具包,包括GTK+,而Python可以通过PyGTK或PyGObject与GTK+进行交互,因此Glade也常用于Python GUI应用的开发。 在Python中,Glade可以帮助我们生成XML文件,这个文件包含了界面的所有组件和它们...

    gtk.rar_gtk

    GTK库基于C语言编写,但它提供多种语言的绑定,如Python(PyGTK)、Perl(GTK2-Perl)、Java(JavaGTK)和Vala等,使得开发者可以根据自己的喜好选择合适的编程语言进行开发。GTK遵循GNU General Public License ...

Global site tag (gtag.js) - Google Analytics