GTK+学习笔记1

原创 2004年07月08日 17:38:00

1.将使用控制台建立的GTK+工程项目中的控制台窗口去掉

      a.)将工程设置中[C/C++]/[Preprocessor definitions]中的“_CONSOLE”改为

                  “_WINDOWS”

      b).将工程设置中[Link]/[Project Option]中的 "/subsystem:console" 改为

               “/subsystem:windows”

      c).将main函数改为

#if defined(G_OS_WIN32) && defined(_WINDOWS)
//Windows平台没有windows控制台窗口
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                    LPSTR     lpCmdLine,
                     int       nCmdShow)
#else 
//windows平台控制台或Linux 平台
int main(int argc, char* argv[])
#endif
{

#if defined(G_OS_WIN32) && defined(_WINDOWS)

//去掉控制台输出
       gtk_init(&__argc, &__argv);
 
       /* We don't want a console window.. */
       /*
       *  Any calls to the glib logging functions, result in a call to AllocConsole().
       *  ME and 98 will in such cases produce a console window(2000 not), despite
       *  being built as a windows app rather than a console app.  So we should either
       *  ignore messages by setting dummy log handlers, or redirect messages.
       *  This requires setting handlers for all domains(any lib which uses g_logging).
       */

 
       g_log_set_handler(NULL,(GLogLevelFlags) (G_LOG_LEVEL_MASK  | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION), DrCOM_dummy_log_handler, NULL); 
    g_log_set_handler("Gdk",(GLogLevelFlags)(G_LOG_LEVEL_MASK| G_LOG_FLAG_FATAL  | G_LOG_FLAG_RECURSION), DrCOM_dummy_log_handler, NULL);
 g_log_set_handler("Gtk",(GLogLevelFlags)(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION),
  DrCOM_dummy_log_handler, NULL);
 g_log_set_handler("GLib",(GLogLevelFlags)(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION),
  DrCOM_dummy_log_handler, NULL);
 g_log_set_handler("GModule",(GLogLevelFlags)(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION),
  DrCOM_dummy_log_handler, NULL);
 g_log_set_handler("GLib-GObject",(GLogLevelFlags)(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION),
  DrCOM_dummy_log_handler, NULL);
 g_log_set_handler("GThread",(GLogLevelFlags)(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION),
  DrCOM_dummy_log_handler, NULL);
 
  /* g_print also makes a call to AllocConsole(), therefore a handler needs to be
    set here aswell */

    g_set_print_handler( DrCOM_dummy_print );
 
#else
 gtk_init(&argc, &argv);
#endif

       gtk_main();
       return 0;

}

#ifdef G_OS_WIN32
static void DrCOM_dummy_print( const gchar* string )
{
 return;
}

static void DrCOM_dummy_log_handler (const gchar    *domain,
            GLogLevelFlags  flags,
            const gchar    *msg,
            gpointer        user_data)
{
 return;
}
#endif

GTK+图形化应用程序开发学习笔记(十四)—组合框构件

GTK+图形化应用程序开发学习笔记(十四)—组合框构件 组合框(GtkCombo)是极为常见的构件,实际上它仅仅是其他构件的集合。从用户的观点来说,这个构件是由一个文本输入构件和一个...
  • yaoshenjie
  • yaoshenjie
  • 2015年11月07日 14:15
  • 660

GTK+学习笔记1——Helloworld

开发环境 Fedora 12 GTK+2.0 需要安装下面两个软件包: yum  install  gtk2 yum  install  gtk2-devel 最简单的GTK程序 ...
  • exbob
  • exbob
  • 2011年11月03日 13:38
  • 3404

GTK+学习笔记1

1
  • commshare
  • commshare
  • 2011年03月08日 23:28
  • 644

GTK+编程入门(1)—简介与glib库

GTK+编程入门(1)—简介与glib库(2015-7-23)分类:GTK+一:GTK+简介  GTK+是一个软件开发工具包,其设计目的是支持在 X Window系统下开发图形界面的应用程序。GNU所...
  • LazyBone1994
  • LazyBone1994
  • 2015年08月02日 12:50
  • 1001

OpenCV学习笔记大集锦

转载自: OpenCV学习笔记大集锦 – 视觉机器人 http://www.cvrobot.net/collect-opencv-resource-learn-study-note-chinese...
  • qq_26898461
  • qq_26898461
  • 2016年01月06日 09:49
  • 1419

myBatis学习笔记(1)——快速入门

在项目中使用myBatis 导入jar包 在src下创建配置文件
  • u010837612
  • u010837612
  • 2015年05月12日 11:06
  • 936

Linux 下编译wxWidgets GTK+的问题

本人在linux fedora8 下编译wxWidgets,在编译过程中碰到如下的错误: *** Could not run GTK+ test program, checking why... ...
  • sondx
  • sondx
  • 2011年09月26日 22:22
  • 2462

GTK+图形化应用程序开发学习笔记(六)—按钮(1)

 一、常用构件函数       最常用的构件是按钮构件、录入字段构件、列表框构件和复合框构件。所有建立按钮的函数返回指向GtkWidget的指针。GtkWidget指针能够调用对构件进行操作的通用函数...
  • lbsljn
  • lbsljn
  • 2009年04月21日 22:11
  • 477

GTK+图形化应用程序开发学习笔记(三)—窗体(1)

 一、初始化GTK+        写GTK+程序需要调用gtk_init函数对GTK+ 库函数进行初始化。1.名称::gtk_init功能:初始化GTK+库头文件:#include 函数原形:voi...
  • lbsljn
  • lbsljn
  • 2008年12月21日 18:29
  • 783

Re: configure: error: GTK+ 3 is not available

Thanks for your reply. By the way will it affect the GUI in any way or will it simply run like it us...
  • superbfly
  • superbfly
  • 2015年02月26日 18:06
  • 2262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GTK+学习笔记1
举报原因:
原因补充:

(最多只允许输入30个字)