❶ 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平台下電子商務解決方案的大促進。