windows 环境使用GTK+ 编写图形化程序
GTK+最初是GIMP的专用开发库,后来发展为Unix-like系统下开发图形界面的应用程序的主流开发工具之一。GTK+是自由软件,并且是GNU计划的一部分。GTK+的许可协议是LGPL
   这两天心血来潮,想在windows环境下体验体验GTK+.操作系统为windowsxp,电脑上安装有 Code::Blocks 集成开发环境,下载地址:http://www.codeblocks.org/,找到:codeblocks-12.11mingw-setup_user,GTK+ 下载地址:http://www.gtk.org/download/win32.php,为了方便,下载时最好直接下载 all-in-one-bundle.下载完成后安装 Code::Blocks,一路 next 就好。完成后将下载的 GTK+(all-in-one-bundle)解压缩到任一目录(例如:c:\gtk)。 解压缩完成后进入目录将看到如下信息:GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建
  完成后在解压出来的目录中找到etc目录,依次进入etc>
gtk-2.0 然后新建gtkrc文件
,并打开文件编辑内容:
gtk-theme-name = "MS-Windows",以使用MS-Windows theme engine。
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_02


  将刚才解压缩目录里面的bin目录路径
(例如:c:\gtk\bin)添加到环境变量中的PATH变量中GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_03GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_04


   添加之后运行Code::Blocks:

GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_05
  依次:file>new>project,出现下面画面:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_06
选择 GTK+ project,出现下面画面:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_07
直接 next,出现如下画面,依次填入项目标题,项目名称,项目存放地址等信息,如下图:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_08
next之后需要选择GTK所在的目录,直接填入之前的解压缩目录:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_09
next 之后需要选择编译器,调试选项和发行选项,如下图:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_10
完成后选择 finish,至此,GTK+ project就建立完成了:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_11
接下来依次:File>new>empty file;新建一个文件,并保存为*.c文件,然后开始源程序的编写(注意新建的GTK+ project在Sources目录下自动生成了一个main文件,可以直接在里面继续编写程序,如果自己新建了源程序文件,并且含有main函数,则需要删除自动生成的main文件):
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_12
选择Build and Run,出现下图表示成功:
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_13
开发中字体问题
在程序运行的时候遇到如下警告时:
(GTKTest01.exe:4876): Pango-WARNING **: couldn't load font "微软雅黑 Not-Rotated9", falling back to "Sans Not-Rotated 9", expect ugly output.
(GTKTest01.exe:4876): Pango-WARNING **: couldn't load font "微软雅黑 9", falling back to "Sans 9", expect ugly output.

这所代表的意思是系统加载系统默认的字体格式时,我们的gtk程序无法识别。
style"user-font"
{
font_name = "ThemeXHei 10"
}
widget_class "*" style "user-font"

gtk-theme-name = "MS-Windows"
gtk-icon-theme-name = "Tango"
gtk-fallback-icon-theme = "hicolor"
gtk-alternative-button-order = 1
gtk-alternative-sort-arrows = 1
gtk-auto-mnemonics = 1
gtk-show-input-method-menu = 0
gtk-show-unicode-menu = 0

粗体部分为添加的字段,其中"ThemeXHei"请替换成你要的字体,建议宋体"Simsun"
GTK+在CodeBlocks的环境搭建_GTK+在CodeBlocks的环境搭建_14
这样我们就为gtk程序指定了字体。