当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 急…關於gtk讀檔的問題
帖子发表于 : 2011-03-25 15:00 

注册: 2011-03-17 17:15
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
#include <gtk/gtk.h>
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>

using namespace std;

GtkWidget* window;
char tag[10];
int x,y,number;
gboolean expose_event_callback(GtkWidget *widget,
GdkEventExpose *event,
gpointer data) {

GdkGC *gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)];
GdkDrawable *drawable = widget->window;
GdkColor color;


FILE* fptr=fopen("logfile","r");
while(fscanf(fptr,"%s ",tag)!=-1){
if(strcmp(tag,"Round")==0){

fscanf(fptr,"%d",&x);

getch();

}
else if(strcmp(tag,"car")==0){
fscanf(fptr,"%d at (%d,%d)",&number,&x,&y);
gdk_draw_pixbuf(drawable, gc, gdk_pixbuf_new_from_file("car-right.jpg", NULL)
, 0, 0, 100*x,100*y, -1, -1,GDK_RGB_DITHER_NORMAL, 0, 0);
}
else if(strcmp(tag,"scooter")==0){
fscanf(fptr,"%d at (%d,%d)",&number,&x,&y);
gdk_draw_pixbuf(drawable, gc, gdk_pixbuf_new_from_file("scooter.jpg", NULL)
, 0, 0, 10*x, 10*y, -1, -1, GDK_RGB_DITHER_NORMAL, 0, 0);


}

}
return TRUE;
}

int main(int argc, char *argv[]) {
GtkWidget *scrolledWindow;
GtkWidget *drawing_area;
GdkColor color;
GdkGC *gc;
GdkDrawable *drawable;
GtkWidget *image;

gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Intersection");
g_signal_connect(GTK_OBJECT(window), "destroy",G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_realize(window);

scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
gtk_container_add(GTK_CONTAINER(window),scrolledWindow);
gtk_widget_show(scrolledWindow);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledWindow),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);


drawing_area = gtk_drawing_area_new();
gtk_widget_set_size_request(drawing_area,2000, 2000);
g_signal_connect(GTK_OBJECT(drawing_area), "expose_event",G_CALLBACK(expose_event_callback), NULL);
gtk_container_add(GTK_CONTAINER(window), drawing_area);

gdk_color_parse("#000000", &color);
gtk_widget_modify_bg(GTK_WIDGET(drawing_area), GTK_STATE_NORMAL, &color);
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolledWindow),drawing_area);

gtk_widget_show_all(window);


gtk_main();


return 0;
}


我讀一個logfile,讀到round這一行的時候,顯示出來
可是現在我一讀,就全部顯示出來了,不知那裡有出錯,請各位大俠幫幫忙…
FILE* fptr=fopen("logfile","r");
while(fscanf(fptr,"%s ",tag)!=-1){
if(strcmp(tag,"Round")==0){

fscanf(fptr,"%d",&x);

getch();

}


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 急…關於gtk讀檔的問題
帖子发表于 : 2011-03-25 15:02 

注册: 2011-03-17 17:15
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
我是想一個round,一個round 的顯示出來
不是一次全部都出來
我用c++跑是ok的,可是用gtk就不行…
請幫幫小的…


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译