如何在linux中用c开发gui程序?

janks 2003-10-18 03:25:00
最近我想在linux编一个程序,却不知如何在linux中用c开发gui程序?
...全文
159 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
godman 2003-10-19
  • 打赏
  • 举报
回复
用gtk不错
www.gtk.org
去看看吧
vitalgg 2003-10-18
  • 打赏
  • 举报
回复
编译:
#gcc gtkhello.c -o gtkhello `gtk-config --cflags --libs`
#./gtkhello
vitalgg 2003-10-18
  • 打赏
  • 举报
回复
使用Gtk+/Gnome 库
---=======================
#include<gtk/gtk.h>
/*回调函数忽略了传递给程序的所有参数.*/
void hello( GtkWidget *widget, gpointer data)
{
g_print("Hello World\n");
}

gint delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
g_print("delete event occurred\n");
return 1;
}

void destroy(GtkWidget *widget, gpointer data)
{
gtk_main_quit();
}


int main(int argc, char *argv[])
{

GtkWidget *window;
GtkWidget *button;

/*在所有的Gtk应用程序中都应该调用,它的作用是解析由命令行传递进来的参数并将它返回给应用程序*/
gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event), NULL);
gtk_signal_connect(GTK_OBJECT(window),"destroy", GTK_SIGNAL_FUNC(destroy), NULL);
gtk_container_set_border_width(GTK_CONTAINER(window),10);
button = gtk_button_new_with_label("Hello World");

gtk_signal_connect(GTK_OBJECT(button),"clicked", GTK_SIGNAL_FUNC(hello), NULL);
gtk_signal_connect(GTK_OBJECT(button),"clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(window));

gtk_container_add(GTK_CONTAINER(window),button);

gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
return(0);
}
==========================
wide288 2003-10-18
  • 打赏
  • 举报
回复
gtk and xlib
acqy 2003-10-18
  • 打赏
  • 举报
回复
qt似乎不错。给你一个网站,你学习一下:
http://www.qiliang.net/qt.html

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧