本文主要介绍在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();
}
然后 编译运行,结果如图,成功了: