本文主要介绍在qt下使用gtk库编写gui界面。
环境:qt creater gtk2.0开发库
首先新建Empty QT 工程,如图

在新建后你会得到xxx.pro 文件,

现在右击工程 Add New 新建 main.cpp 文件

现在配置 hellogtk.pro 添加
INCLUDEPATH += /usr/include/gtk-2.0 /usr/lib/gtk-2.0/include/usr/include/atk-1.0 /usr/include/cairo /usr/include/pango-1.0/usr/include/gio-unix-2.0/ /usr/include/pixman-1 /usr/include/freetype2/usr/include/libpng12 /usr/include/glib-2.0 /usr/lib/glib-2.0/include
LIBS += -pthread -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0-lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lgio-2.0-lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0-lgthread-2.0 -lrt -lglib-2.0
这里有关小技巧由于 不知道需要什么库 可以敲入 pkg-config --cflags --libs gtk+-2.0 ,把得到的Include 和lib 分别添加到includepath 和libs

现在可以编辑main.cpp 输入如下代码:
#include <gtk/gtk.h>
#include <stdio.h>
#include <glib-object.h>
void button_clicked(GtkWidget *button,gpointer data){
fprintf(stderr,"%s ",(char*)data);
}
int main(int argc,char* argv[]){
GtkWidget *window;
GtkWidget *button;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
button=gtk_button_new_with_label("Hello world");
gtk_container_add(GTK_CONTAINER(window),button);
g_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_clicked),(gpointer)"button 1");
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
}
然后 编译运行,结果如图,成功了:


本文指导您在Qt环境下使用GTK库编写GUI界面,通过新建工程、配置依赖库及编写代码实现界面功能,最终成功运行示例程序。

2059





