把qt4整合进eclipse[完整安装方法]Jan.3.2011更新
时间:2011-01-10
来源:互联网
lubuntu环境下,使用eclipse开发GTK遇到的奇怪问题!!!!!!
#include <gtk/gtk.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
GtkWidget *win, *label;
gtk_set_locale();
gtk_init(&argc, &argv);
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize(GTK_WIDGET(win), 500, 300);
gtk_window_set_title(GTK_WINDOW(win), "Hello GTK+ !!!");
gtk_signal_connect(GTK_OBJECT(win), "destroy", GTK_SIGNAL_FUNC(gtk_exit), NULL);
label=gtk_label_new("Hello, GTK+\n");
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(label));
gtk_widget_show_all(win);
gtk_main();
return 0;
}
上面这个编译,run都没有任何问题,但是一旦使用glade,灵异事件就出现了!
下面是使用glade的代码:
#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc,char **argv) {
GladeXML *gxml;
GtkWidget *window;
gtk_init(&argc,&argv);
gxml=glade_xml_new("test.glade",NULL,NULL);
glade_xml_signal_autoconnect(gxml);
window=glade_xml_get_widget(gxml,"window1");
gtk_widget_show(window);
gtk_main();
return 0;
}
以上代码,在eclipse编译没有问题,用eclipse的run也可以正常执行,出现窗口!!!
但是,如果不使用eclipse来执行,直接在文件夹里面运行可执行程序,就什么反应都没有,就如同没有点击一样,但是没有使用glade的第一段代码就没有这个问题!!!
望各位大侠指点一二!!!!
谢谢…………
#include <gtk/gtk.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
GtkWidget *win, *label;
gtk_set_locale();
gtk_init(&argc, &argv);
win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize(GTK_WIDGET(win), 500, 300);
gtk_window_set_title(GTK_WINDOW(win), "Hello GTK+ !!!");
gtk_signal_connect(GTK_OBJECT(win), "destroy", GTK_SIGNAL_FUNC(gtk_exit), NULL);
label=gtk_label_new("Hello, GTK+\n");
gtk_container_add(GTK_CONTAINER(win), GTK_WIDGET(label));
gtk_widget_show_all(win);
gtk_main();
return 0;
}
上面这个编译,run都没有任何问题,但是一旦使用glade,灵异事件就出现了!
下面是使用glade的代码:
#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc,char **argv) {
GladeXML *gxml;
GtkWidget *window;
gtk_init(&argc,&argv);
gxml=glade_xml_new("test.glade",NULL,NULL);
glade_xml_signal_autoconnect(gxml);
window=glade_xml_get_widget(gxml,"window1");
gtk_widget_show(window);
gtk_main();
return 0;
}
以上代码,在eclipse编译没有问题,用eclipse的run也可以正常执行,出现窗口!!!
但是,如果不使用eclipse来执行,直接在文件夹里面运行可执行程序,就什么反应都没有,就如同没有点击一样,但是没有使用glade的第一段代码就没有这个问题!!!
望各位大侠指点一二!!!!
谢谢…………
作者: nieyv 发布时间: 2011-01-10
是不是:
gxml=glade_xml_new("test.glade",NULL,NULL);
出现了问题?
可能是没有找到test.glade这个文件。所有,后面的都没有执行。改成这样,再试一下,就知道问题出现在哪儿了:
#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc,char **argv) {
GladeXML *gxml;
GtkWidget *window;
gtk_init(&argc,&argv);
gxml=glade_xml_new("test.glade",NULL,NULL);
if(!gxml){fprintf(stderr, "load test.glade failed!\r\n");return 1;}
glade_xml_signal_autoconnect(gxml);
window=glade_xml_get_widget(gxml,"window1");
if(!window){fprintf(stderr, "Get window1 failed!\r\n");return 1;}
gtk_widget_show(window);
gtk_main();
return 0;
}
获取eclipse中运行的时候和独立运行时某些环境变量不同,从而导致eclipse中运行时可以找到该文件,独立运行时无法找到。
gxml=glade_xml_new("test.glade",NULL,NULL);
出现了问题?
可能是没有找到test.glade这个文件。所有,后面的都没有执行。改成这样,再试一下,就知道问题出现在哪儿了:
#include <gtk/gtk.h>
#include <glade/glade.h>
int main(int argc,char **argv) {
GladeXML *gxml;
GtkWidget *window;
gtk_init(&argc,&argv);
gxml=glade_xml_new("test.glade",NULL,NULL);
if(!gxml){fprintf(stderr, "load test.glade failed!\r\n");return 1;}
glade_xml_signal_autoconnect(gxml);
window=glade_xml_get_widget(gxml,"window1");
if(!window){fprintf(stderr, "Get window1 failed!\r\n");return 1;}
gtk_widget_show(window);
gtk_main();
return 0;
}
获取eclipse中运行的时候和独立运行时某些环境变量不同,从而导致eclipse中运行时可以找到该文件,独立运行时无法找到。
作者: qimingos 发布时间: 2011-01-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28