首先,去MSYS2官网下载MSYS2环境并安装在C:/mysys64下,我安装的是64位的。

进入MSYS命令行执行:

pacman -S mingw-w64-x86_64-gtk3

pacman -S mingw-w64-x86_64-toolchain base-devel

然后在qt creator 在 "工具->选项->编译器" 中添加c和c++编译器,如下图:

进入Debuggers标签页,设置调试器

进入构建套件标签页,设置如下:

建立一个Empty qmake Project工程:

在工程的*.pro文件内加入头文件和库文件:

INCLUDEPATH += C:/msys64/mingw64/include/gtk-3.0 C:/msys64/mingw64/include/cairo C:/msys64/mingw64/include C:/msys64/mingw64/include/pango-1.0 C:/msys64/mingw64/include/atk-1.0 C:/msys64/mingw64/include/cairo C:/msys64/mingw64/include/pixman-1 C:/msys64/mingw64/include C:/msys64/mingw64/include/freetype2 C:/msys64/mingw64/include/libpng16 C:/msys64/mingw64/include/harfbuzz C:/msys64/mingw64/include/glib-2.0 C:/msys64/mingw64/lib/glib-2.0/include C:/msys64/mingw64/include C:/msys64/mingw64/include/freetype2 C:/msys64/mingw64/include C:/msys64/mingw64/include/harfbuzz C:/msys64/mingw64/include/libpng16 C:/msys64/mingw64/include/gdk-pixbuf-2.0 C:/msys64/mingw64/include/libpng16 C:/msys64/mingw64/include/glib-2.0 C:/msys64/mingw64/lib/glib-2.0/include C:/msys64/mingw64/include

LIBS += -LC:/msys64/mingw64/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lz -lpangowin32-1.0 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lintl

建立main.cpp文件,输入以下代码:

*如果出现make找不到的情况,在构建设置里手动设置一下就行了。

  1. #include <gtk/gtk.h>
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5. GtkWidget *window;
  6. GtkWidget *label;
  7. //初始化GTK+库
  8. gtk_init(&argc, &argv);
  9. //创建主窗口
  10. window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  11. //设置窗口大小
  12. gtk_widget_set_size_request(window,,);
  13. //设置标题
  14. gtk_window_set_title(GTK_WINDOW (window), "Hello World");
  15. //当窗口即将被销毁,停止主GTK+循环
  16. g_signal_connect(window, "destroy",G_CALLBACK (gtk_main_quit), NULL);
  17. //创建一个"Hello World"标签
  18. label = gtk_label_new("Hello, World");
  19. //将标签加入到主窗口
  20. gtk_container_add(GTK_CONTAINER (window), label);
  21. //设置窗口中的所有元素可见
  22. gtk_widget_show_all(window);
  23. //开始主循环,让它在那里休息,直到应用程序关闭
  24. gtk_main();
  25. return ;
  26. }

运行结果:

转载请注明出处:http://www.cnblogs.com/oliverliye/p/7000554.html

在windows下使用Qt5开发GTK3图形界面应用程序的更多相关文章

  1. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  2. 转:Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序

    一.原理Linux/Unix的X Window具有网络透明性.X Window系统里有一个统一的Server来负责各个程序与显示器.键盘和鼠标等输入输出设备的交互,每个有GUI的应用程序都通过网络协议 ...

  3. Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序

    安装X Window yum groupinstall 'X Window System'

  4. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  5. Windows下USB磁盘开发系列二:枚举系统中所有USB设备

    上篇 <Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>介绍了很简单的获取系统U盘盘符的办法,现在介绍下如何枚举系统中所有USB设备(不光是U盘). 主要调用的API如下: 1 ...

  6. Windows下搭建Git开发环境

    Windows下搭建Git开发环境主要有以下三种方法: 1,VS,vs2013和vs2015中已经集成了git插件了 2,msysGit+TortoiseGit 3,msysGit+SourceTre ...

  7. Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息

    前面我们介绍了枚举系统中的U盘盘符(见<Windows下USB磁盘开发系列一:枚举系统中U盘的盘符>).以及获取USB设备的信息(见<Windows下USB磁盘开发系列二:枚举系统中 ...

  8. [转]windows下安装Object-C开发环境

    本文转自:http://hi.baidu.com/jeremylai/item/f40b9116cb3c5d582b3e22f5 在Windows下搭建Objective C开发环境,需要到GNUst ...

  9. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

随机推荐

  1. java设计模式--基础思想总结--父类引用操作对象

    看设计模式的相关书籍也有一段时间了,一开始其实是抱着作为java三大框架的基础知识储备来学习的,不过到后来,才发现,在设计模式的一些准则装饰下,java的面向对象威力才真正地体现出来,后面的将会陆续地 ...

  2. Google Earth影像数据破解之旅

    "Zed, you are so excellent." 为什么要写这句英文?容我卖个关子稍后再解释. 相信大多数人都体验过Google Earth(简称GE),我对GE最初的印象 ...

  3. DirectFB学习笔记四

    本篇目的,实现按钮的点击事件捕获,也就是鼠标点击,如果点击在方框范围内,则响应,在方框外,则忽略. 由于鼠标移动和点击都会产生事件,因此,我们可以在鼠标移动的时候记录坐标,在点击时比较坐标是否在方框范 ...

  4. WebService学习--股票走势图+天气预报实现

        互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的Web应用中显示,下面就以获取股票数据和天气预报为例进行学习 ...

  5. bzoj4784 [Zjoi2017]仙人掌

    Description 如果一个无自环无重边无向连通图的任意一条边最多属于一个简单环,我们就称之为仙人掌.所谓简单环即不经过重复的结点的环. 现在九条可怜手上有一张无自环无重边的无向连通图,但是她觉得 ...

  6. uoj#73 【WC2015】未来程序

    在 2047 年,第 64 届全国青少年信息学奥林匹克冬令营前夕,B君找到了 2015 年,第 32 届冬令营的题目来练习. 他打开了第三题 “未来程序” 这道题目: 本题是一道提交答案题,一共 10 ...

  7. poj1751最小生成树

    The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of p ...

  8. Docker - 终端交互

    进入容器交互终端 使用docker attach命令进入容器交互终端. 注意:如果多个窗口同时attach到同一个容器,那么所有窗口都会同步显示.如果某个窗口因命令阻塞时,那么其他窗口将无法执行操作. ...

  9. innobackup全备与恢复

    前提:xtrabackup.mysql安装完成,建立测试库reading.测试表test,并插入三条数据. 1.全备:      innobackupex --user=root --password ...

  10. Java Synchronization

    Volatile Since Java 5 the volatile keyword guarantees more than just the reading from and writing to ...