在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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM