❶ linux下怎么用C语言开发界面程序

选择1:
去QT的官方网站,里面提供免费下载,主要下载:如果你只用C的话,下载QT图形开发C的编程库,和开发文档(相当于windows的MSDN),如果你用C++的话,就下载QT图形开发C++的编程库,和开发文档.
选择2:
去GTK的官方网站,面里面提供免费下载,主要下载:如果你只用C的话,下载GTK图形开发C的编程库,和开发文档(相当于windows的MSDN),如果你用C++的话,就下载GTK图形开发C++的编程库,和开发文档.
选择3:
如果你需要数据库:去MYSQL的官方网站,面里面提供免费下载,主要下载:如果你只用C的话,下载MYSQL数据库开发C的编程库,和开发文档(相当于windows的MSDN),如果你用C++的话,就下载MYSQL数据库开发C++的编程库,和开发文档

❷ Linux C图形界面开发用什么开发软件

多了去了~~

主流的是GTK+(C语言)和QT(C++语言)

QT有点恶心(不是完全开源)但很强大。

如果沵喜欢直接用X11编写也可以。

❸ linux下的图形界面开发

QT是个不错的抄选择,KDE桌面操作系统就是用QT开发的。其支持WINDOWS和LINUX两种操作系统。最高版本好像是4以上了。其界面开发工具是QT DESIGNER,还是比较好用,有点像VC。你可以装起先试下,在其网站上可以直接下载free的版本。
官方网址:www.trolltech.com/

❹ Linux 系统下图形界面用那种语言开发最合适

Code::Blocks IDE结合 wxWidgets GUI framework
Code::Blocks本身也是建立在wxWidgets上的
编程语言C++

❺ Linux下如何进行图形界面编程

不用IDE就不能有图形了么...人家还有用32位的汇编写界面的...只是你不容易调试和观察内...比如人家可以直容接修改按钮或者别的组件,修改对应的触发,非常直观,这样比较方便..就这样了...

不过你不用IDE就需要对人家的机制了解深一些..代码框架是什么样的,如何组织,资源如何管理...

一般来说,你需要使用对应的库,Linux下用的比较多的是gtk和qt...对应的IDE是glade和qtcreator...

❻ linux下的图形界面软件是用什么语言编写的

主要有:
GTK,它是C写的一个通用图形库,GNOME是用它写的;
QT,它是C++写的一个类库,KDE是用它写的;
另外还有wxWidget,是一个C++的通用图形库,有很多软件是用它写的。

❼ Linux下图形界面开发,python,Qt选哪一个好

qt,感觉qt图形化的组件较为丰富和快捷
而python更多的是用于大数据文本处理

❽ Linux中怎么用c/c++做开发可视化程序

一般使用Qt(C++)或者GTK+(C)的库;

1.比如Qt,安装Qt库以及Qt Creator,在Qt Creator中编译以下程序

#include<QApplication>
#include<QMainWindow>

intmain(intargc,char*argv[])
{
QApplicationa(argc,argv);
QMainWindow*w=newQMainWindow();
a.setActiveWindow(w);
w->show();

returna.exec();
}

你将看到如下窗口:

#include<gtk/gtk.h>
intmain(intargc,char*argv[])
{
GtkWidget*window;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();

return0;
}

编译运行后,你也将看到一个类似的窗口。


几乎linux所有的GUI库都基于X视窗系统中;


在X视窗系统中,X工具包就是一个GUI库,通过函数调用就可以创建按钮菜单等构件,历史上有过很多流行的工具包,比如Motif,OprnLook和Xt,但是他们大部分都已经被GTK+和Qt取代,这两者分别构成了GNOME和KDE桌面的基础。

此外,你还可以选择与平台无关的窗口API,如Java使用的Swing和以前的AWT;C#的mono项目;方便快捷的Tcl/Tk脚本语言;Python以及Perl;

❾ 如何在linux下用gtk开发图形界面应用程序

* 使用 GTK+ 和 Glade 快速开发 Linux 图形界面

** GTK+ 简介

*** 基本概念

GTK+ 是一种用于创建图形界面的库. 嗯, gnome 用的就是它, 不过并不是说只
有在 gnome 环境中才能用, 只要系统上装有 GTK 的库 (基本上有图形系统的个
人机都会有的啦) 就能运行基于 GTK 的程序. 除了 UNIX-like 平台, 它还移植
到 windows 上, 还有面向嵌入设备的 framebuffer 版本等等.

GTK 依赖两个重要的库. 一个是 GLib, 这并不是一个图形库, 也和 glibc 不同
, 它大抵上提供了一些接口以屏蔽系统的不同, 比如 gint 在哪里都是 32bit
的, 等等; 另一个是 GDK, 它是一个设备无关的图形库, 支持基本的画点, 以及
与窗口管理器沟通等任务, 由于 GTK 被设计成能在各个平台, 而非仅仅在
XWindow 环境下使用, 所以这个库也是必要的. 而在他们上面的 GTK 库, 就提
供了一些 widget --- 可以理解为控件啦, 不过窗口也是一个 widget 的说, 给
我们使用, 并提供了包装良好的事件响应机制.

*** GTK+ 开发基础

要开发基于 GTK 的软件, 必须先安装 GTK+ 的开发包. 检查是否正确安装的办
法是在安装后执行 ``pkg-config --cflags --libs gtk+-2.0'', 如果安装不正
确, 会提示找不到相应的包.

GTK 本身是基于 C 的库, 当然也有 C++ 等语言的 wrap, 但它的整个体系是面
向对象的. 其最基本的类是 GObject, GtkObject 继承了它, GtkObject 又派生
出我们最经常用到的 GtkWidget, 我们使用的所有窗体控件都派生于它. 于是,
在 C 环境中我们就要手动处理这些类转换, GTK 和底层的 GLib 等提供了一种
统一的转换方法, 比如把类型为 GtkWidget* 的 button 转换成 GtkButton 形,
写法是: GTK_BUTTON(button), 就酱子.

我不打算在这里列一个 GTK 的 hello world 占页面, 这个程序随便 google 一
下就能找到. 我们可以自己想一想一个图形界面应该如何建立.

首先我们要进行初始化, GTK 提供了 gtk_init() 作为初始化, 它检查程序参数
中的一些特定部分, 进行自己的设置. 调用方法如下:

gtk_init(&argc, &argv);

将 argc 和 argv 传指针的目的是 gtk_init 会对他们进行加工, 把 GTK 自己
用到的一些参数抽取出来.

接着, 我们必须要创建这些控件吧, GTK 中, 创建一个控件会返回一个
GtkWidget 类型 (或它的派生类) 的指针, 所有创建控件的函数的格式是
gtk_控件类型_new(参数表). 比如创建一个窗口的写法是:

GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

然后, 我们要设定事件响应函数, GTK 中的事件叫做 signal. GTK 的事件响应
函数接口应该是类似这样的

void
destroy(GtkWidget *widget, gpointer data)

我们把它连入到一个控件中的方法是这样的

g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);

应该很好理解吧.

我们创建的咚咚, 要说明他们的位置和包含关系, GTK 用 container 来解决这
个问题, 它可以保证在窗口缩放的时候控件的摆放依然合理, container 的具体
使用不详细说, 后面经常要跟 container 打交道, 但基本上不用管 C 代码, 嗯
. 不过其实我们的任何的可视控件都继承自 container, 比如 button 也是一个
container, 它很多时候装的是一个 GtkLabel, 也就是用来显示纯文本的控件,
于是我们就能见到一个文本按钮, 嗯. 使用 container 的方法如下.

gtk_container_add(GTK_CONTAINER(window), button);

这样 button 就会占满整个 window 的控件, 我们后面可以看到可以用
GtkVBox, GtkHBox 等 container 分隔窗体.

好了, 我们可以准备启动程序了, 我们可以用 gtk_widget_show() 来显示各个
控件, 然后我们就应该进入到所谓的事件响应循环了, 这就要使用 gtk_main().

在程序运行过程中, 我们要操纵控件, 比如说我们要在一个 entry 控件(文本框
) 中取出其中的文字, 这样的操作使用 gtk_控件类型_动作(对象, 参数) 的形
式完成的, 比如刚才所说的任务, 做法是 gtk_entry_get_text(entry).

顺便讲讲 GTK 程序的退出, 关闭 GTK 的窗口 (即使是所有窗口) 也不代表程序
退出, 因为那说到底只是一个界面而已, 我们当然可以使用 exit() 的自爆法退
出, 但最好还是给 GTK 一个料理后事的机会, 在主窗口的 destroy 事件响应函
数上用 gtk_main_quit() 就好了.

编译 GTK 程序的办法也很简单.

gcc -o foo foo.c `pkg-config --cflags --libs gtk+-2.0`

** 使用 Glade 快速定制用户界面

好了, 说了一堆有的没的, 如果我现在说我上面说的那一堆中的大部分我们都不
会用到, 是不是觉得偶很歉扁? 前面的介绍只是给大家 GTK 这个库的一些基本
概念, 概念就好了, 我们倒真的不用拿这些来编程的. 想想, 一个复杂一点的界
面, 十几个控件, 再加上各种各样的 container, 自己挂事件, 再加上超常的命
名, 想想都恐怖.

这时候, Glade 横空出世了! 这是一个可视化的界面编辑器 --- 但它仅仅是一
个界面编辑器而已, 甚至连代码编辑框也没有给出. 先不管了, 打开 glade (安
装省略, 饶了我把, 记得装 libglade-dev), 应该很好懂了, 指指点点就能弄好
一个界面, 然后在属性窗的信号一栏中选取需要的信号, 设定响应函数, 非常好
弄.

玩了几分钟, 问题来了, 怎么把它变为程序啊? 提供类似功能的 IDE 如
Borland C++ Builder, 在点击创建新控件的时候, 我们能即使在代码窗看到自
动生成的代码, Glade 也可以采用这种形式, 在设计好界面并保存后, 按一下主
窗口的 build 按钮, 它就自动生成了界面代码, 根本不用自己写的. 打开代码
目录, callbacks.c 里已经有自动创建的事件响应的空函数, 在里面填处理, 然
后 configure make 就行了.

但是, 这样的开发方式还是有问题的. 第一, 自动生成的代码非常复杂, 可是很
多时候我们还是不能完全不看它, 处理和界面是混在一起了, 理解他们变得困难
; 其二, 由于以上的原因, 修改界面变得非常痛苦; 其三, 它给你生成那堆有的
没的配置文件不一定是你想要的.

因此 glade 提供了另一种方法, glade 编辑所得的 .glade 文件是一个 XML 文
件, 其实它已经完整地描述了界面, 我们能否采用一种简单的方式直接载入, 配
置它呢. 这样做, 我们的代码中就真真正正地去处了烦人的界面生成代码, 而专
注于处理部分了.

libglade 正是由于这个而来, 它能很好地完成上面所说的工作. 当我们用
glade 创建了一个 .glade 界面后, 用这种方法我们就可以建立界面, 运行程序
了.

#include <gtk/gtk.h>
#include <glade/glade.h>

GladeXML *GUI;

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

gtk_init(&argc, &argv);

/* load the interface */
GUI = glade_xml_new("frame.glade", NULL, NULL);

/* connect the signals in the interface */
glade_xml_signal_autoconnect(GUI);

/* start the event loop */
gtk_main();
return 0;
}

剩下的事情很简单, 如果你的 button 的 clicked 控件有一个响应函数
on_button_clicked, 你写

void
on_button_clicked(GtkWidget *widget, gpointer data)
{
// balabalabala
}

就可以了. 所以, 上面讲的一堆创建界面的方法, 其实大部分时候都用不着.

由于用到了 libglade, 我们的编译方法变为

gcc -o foo foo.c `pkg-config --cflags --libs libglade-2.0`

** 开发举例

一个很简单的程序, 密码学对称加密算法要用到的, 如果说是界面, 就是三个文
本框: 明文, 密码, 密文, 三个按钮, 加密, 解密, 清除, 完了. 为了实验众多
的算法, 我们加了一个下拉窗口, 用来选择算法. 我把它设计成一个 wrapper
和框架, 它不实现任何算法, 只是在界面中获取用户输入, 调用外部程序, 并把
结果显示出来而已. 这样, 实际的算法实现可以用纯 C 写的文本界面程序完成,
移植起来很方便, 在 windows 随便做个一样的界面做前端就整个移植过去了.

于是, 我们需要的窗体元素是 GtkEntry, GtkComboBoxEntry, GtkButton, 查查
手册, 我们用到的界面相关的函数只有以下几个:

- gtk_entry_get_text(), 用于获取文本框输入

- gtk_entry_set_text(), 用于在文本框中显示结果

- gtk_combo_box_get_active_text(), 用于在 ComboBoxEntry (派生自
ComboBox) 取出用户选中的算法.

另一个问题是, 他们都需要相应的对象指针做参数, 这应该怎样获得呢? 我们使
用 glade_xml_get_widget(GUI, "控件名") 就能取得控件了.

❿ Linux界面开发工具有哪些

性,近年来脱颖而出,一举成为全球各地快速增长的操作系统,市场占有率几欲与Windows平台一争高下。Linux应用范围从Web服务器、防火墙一直到快速缓存的网页服务器,已经走出科研实验阶段,开始步入关键业务领域。然而运行在Linux下的应用软件偏少,让诸多用户对此平台犹有疑虑。其实并不能怪软件厂商和程序开发者的惫懒。用于Linux平台得心应手的开发工具匮乏,使开发效率降低。如今,Kylix3的出现,有望使这种状况彻底改变。从其近期产品发布会上,人们争相要求得到试用版的热闹场景可见一斑。

RAD原来有历史

大多数Linux发放版本,自身捆绑了诸如Java、Gcc、Perl、Python等常用开发工具。然而遗憾的是多数还处在字符界面的命令行状态下,需要设置大量参数编译、调试,对于像企业级应用和团队开发,则更是难上加难。

Windows环境的快速开发工具(RAD),像Borland的C++ Builder、Delphi等可视化开发环境,通过简单的用户界面设计、方便的拖拽式开发,促成了Windows平台应用软件的极大丰富。为帮助Linux软件开发人员提高效率,2001年,Borland将在Windows平台上获得成功的Delphi,移植到Linux平台,推出Kylix。

如果说,Kylix2还是将Delphi从Windows搬到了Linux,那么最新推出的Kylix3则进一步整合了高性能的C++Builder及Delphi程序语言,为Linux平台开发者提供了一个快速开发电子商务应用的解决方案。据称,无论是建立图形用户界面、数据库或是Web及Web Services应用程序,Kylix3都将带来更快速、更简单的使用经验。

似曾相识的C++ Builder

Kylix3具有Windows 平台下C++ Builder程序开发人员熟悉的工作界面,并同时支持ANSI/ISO C++标准,在结合应用软件设计与开发环境中,Kylix3整合了多种可视化设计工具,内包含Borland CLX组件库,结合CodeInsight技术的编辑器,配合图形调试器和内码编译器,功能经过调整,可以快速开发包括数据库、用户图形界面及Web services程序在内的各类Linux平台应用。

Borland 跨平台组件库(CLX)提供了数百个可重复使用、定制化、自由拓展的组件和类,方便C++Builder或Delphi编程人员快速开发应用程序。由Kylix 3开发的基于Linux的应用程序,将其源代码经C++Builder或Delphi重新编译之后即可在Windows环境下顺利执行,提高了应用程序的可用性。而跨Web服务器的兼容性,使专为Apache开发的服务器端应用程序,在Windows平台经过编译后,可供MS IIS、Apache、Netscape等不同Web服务器使用。

可视化C++编译环境和组件式的开发方式,使原本对Linux平台不熟悉的开发者,也能够顺利进行开发,从而大大缩短产品进入市场的时间。

Web Services的三大利器

今天,Web services已成为全球电子商务的主要手段。任何一个应用解决方案,只要通过Internet连接,就可以整合分布全球不同环境中的资源。Kylix 3拥有三大法宝可以使得用户的应用解决方案建立和使用Web services。

BizSnap是Kylix的Web Services开发平台,应用业界通用标准SOAP/XML,提供整合B2B的Web services,将Linux操作系统和Apache服务器能力延伸到电子商务、XML与Web services应用领域,并无缝连接到各类支持Web Services的应用系统。

WebSnap是Kylix以组件为基础的Web 应用程序开发平台,将Apache Web服务器变成数据库驱动的企业级Web应用程序服务器。配合HTML制作环境、可视化工具以及组件结合方式,WebSnap使开发者能够快速开发Web应用程序并整合到企业门户中。

DataSnap则遵循分布式计算标准,将已有电子商务的企业数据库、应用和对象完美集成,是建立高扩展性、企业级数据访问的中间件解决方案。通过DataSnap可以建立高性能的多层数据库应用系统。

多种技术应用,使得Linux应用程序和企业数据库紧密结合,从而实现Linux平台下电子商务解决方案的大促进。