zoukankan      html  css  js  c++  java
  • 在windows下使用Qt5开发GTK3图形界面应用程序

    首先,去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找不到的情况,在构建设置里手动设置一下就行了。

    #include <gtk/gtk.h>
    
    int main(int argc, char *argv[])
    {
        GtkWidget *window;
        GtkWidget *label;
        //初始化GTK+库
        gtk_init(&argc, &argv);
        //创建主窗口
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        //设置窗口大小
        gtk_widget_set_size_request(window,300,300);
        //设置标题
        gtk_window_set_title(GTK_WINDOW (window), "Hello World");
        //当窗口即将被销毁,停止主GTK+循环
        g_signal_connect(window, "destroy",G_CALLBACK (gtk_main_quit), NULL);
        //创建一个"Hello World"标签
        label = gtk_label_new("Hello, World");
        //将标签加入到主窗口
        gtk_container_add(GTK_CONTAINER (window), label);
        //设置窗口中的所有元素可见
        gtk_widget_show_all(window);
         //开始主循环,让它在那里休息,直到应用程序关闭
        gtk_main();
        return 0;
    }

    运行结果:

     

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

  • 相关阅读:
    Inno Setup 6.0.4
    使用Microsoft Enterprise Library 5.0记录日志信息
    Log4net用法
    继续接着上一篇写:使用C#实现DHT磁力搜索的BT种子后端管理程序+数据库设计(开源)[搜片神器]
    磁力王:种子磁力搜索神器使用教程
    C# WebBrowser 网页缩放的方法
    Mysql5.7修改root密码教程
    【MAVEN】maven项目下载更新pom jar包速度慢 解决方案
    C# DataGridView自动保存列的宽度和位置
    Java实现敏感词过滤
  • 原文地址:https://www.cnblogs.com/oliverliye/p/7000554.html
Copyright © 2011-2022 走看看