🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.comp.os.linux
Article #12150

X-Window ��� API

#12150
From: ��ä
Date: Mon, 25 Nov 2002 16:32
296 lines
18643 bytes
      http://www.fanqiang.com (2001-06-08 11:00:01)

            2000/03/04 By maa


            ----------------------------------------------------------------
----------------

            Introduction

            ���� KDE��GNOME �����У������˿�ʼϰ��һ���� GNU/Linux����������
ͼ�λ�ʹ���߽��滷������ҵ����������Ϥ����������ᣬ���������Լ�Ҳ������
д�� X Window ��Ӧ�ó�ʽ������ƪ�����У����ǽ�����һ̽ X programming ��·
;�������㿴���� X �����У����ֶ�ʶ��˵�ͼ�ν��溯ʽ�⡣

            ���ȣ��ҵ�������֪������Ҫ��һ�㣺�� Microsoft Windows ����ÿ��
���Ӷ�����һģһ�����ʽ��ϵͳ��ͬ���� X Window �������У��г����������ж��
APIs (Application Programming Interfaces) ��ͼ�ν��溯ʽ�⣻���䲻ͬ�ĺ�ʽ
�⣬�ͻ������Ӧ�ó�ʽ���ֲ�һ��ķ�ò�����������ϸע�� KDE �� GNOME ����
�壬Ӧ�ò��ѿ�������֮����������졣

            The Layered X Programming APIs

            ��һ��ͼʤ��ǧ��������������Ǿ�ֱ�Ӵӵ������š�The Layered X
Programming APIs��һͼ��ʼ�ɡ�(������ͼ���Ҳο�һЩ�ļ����ģ����ܲ��Ǻ���
ȷ�����ǰ�������в��׵ĵط��������Ÿ�֪��^_^ )

            The Layered X Programming APIs



            �ɱ�����ͼ���ŵ�����ֻ��������֪����Ҫдһ�� X Window ��Ӧ�ó�
ʽ����ʵ�кö���·������ ����

            ����ͼ������ģ���ͷ�ġ�X Applications��Ҳ�������ǵ�Ӧ�ó�ʽ����
��ʹ�ø��� APIs ��ͼ�ν��溯ʽ�� (ͼ�еķ���)��͸�� X Protocol (Network
Connection) ���� X Server ���߹�ͨ�� Appilication ������ Motif������ KDE��
Qt��Gnome��GTK��PerlTK��������ײ�� XLib ���κ�һ�֡���ʽ�⡹��д������
�ڷ���֮�ϵĻ��DZ���ͷָ�ŵģ�������ϲ�ķ����ǡ���춡��²�ķ������������
���� Motif �� Xt Ϊ������ KDE �� Qt Ϊ���Լ� GNOME ���� GTK Ϊ������
������

            �˽�����ͼ���ῴ�ᣬ���¾Ϳ�ʼ��������ͼ��Ԫ����������壺

            The X Library (Xlib)

            The  X Library �� X Window ��ʽ��ͽ׵ij�ʽ��ƽ��棬���������
Windows �Ƚ�������Xlib �ͺ� Windows APIs (��� Windows SDK) һ��������ӽ�
X Server �ij�����棬��ֻ�ṩ������ͼ��ѶϢ�¼��Ĵ��?

            ��� Xlib ֻ��ʹ�� C/C++ ������д����ʽ��׫д�Ƚϵͽ��ӡ������
�����н� Xlib ��װ�� (����һЩ) �ĺ�ʽ����֣��� X Application ��׫д���
�Ƚ����ס�

            X GUI Toolkits

            X Toolkit Intrinsics (Xt)

            Xt �ǵ�һ���� Xlib ��װ�ɸ���󻯵ĺ�ʽ�⣬���ṩ�ˡ��������
�ij�ʽ��Ƽܹ������������һ�ֳ�Ϊ��widget���ĸ�����֡�widget�����ϽṹҲ
������ν�ġ�User Interface Componets������ menus��buttons ���� TextBox ��
widgets���Ӵ������ʽ���ʦ�Ϳ����� widget �Ĺ�����ܹ����ǵ�Ӧ�ó�ʽ����
��ʽ��ü��������˽⡣
            ���� Xt ֻ������Ӧ�ó�ʽҪ��κ���Щ widgets ��ͨ����û�й涨��
Щ widgets �����Ҫ������ģ����Щ widgets ������������ỹ�ǵÿ���߲�ĺ�
ʽ�������? (ͨ���ṩ widgets �ĺ�ʽ�⣬���Ǿͳ�֮Ϊ X ToolKits)��

            ����Ҫ����� Motif��OpenLook �� Lesstif �ȱ㶼�Ǵ� Xt Library
���������ͼ�ν��溯ʽ�⡣Ϊ�˷���������ǽ���Щͼ�ν��溯ʽ���� GUI
Toolkit ������֮ (Ҳ�ɽ� X Toolkit)��(����һ�� Athena Toolkit Ҳ�������� Xt
Library��ֻ����ʵ���Ҳ���������ϣ�����Ҳ��˵ Athena Toolkit �� Widget Set
��̫�ÿ������Ծ�ʡ���ˣ�)

            ��ʵ Microsoft Windows Ҳ�����Լ�һ�� GUI Toolkit��ֻ����û��֪
������ GUI Toolkit �����֣��������Ѿ�����ʽ�����ˣ����ԾͲ���������Ҫ�ˡ�

            Motif

            Motif ΪĿǰ����Ҫ�� GUI Toolkit��������� Xt �� widget ����Ϊ��
�����ṩ��ۺ� Microsoft Windows 95 ��Ϊ���Ƶ�ͼ�ν��档Motif ���� Open
Group (��ǰ�� Open Software Foundation) �����

            �������ڵ� Motif �Ѿ���ֻ�ǵ����� GUI Toolkit �ˣ���Ҳ����һ��
Motif window manager �������� X Clients (X Applications)��

            ���µı���г�Ŀǰ�ɹ����� Motif GUI Toolkit �� X Applications
ͼ�ν�����ƵĹ��� (�һᾡ�����ù��ߵ�����Ҳһ����������)��

            Supported GUI Builders

            BX Pro
            http://linux.ics.com/


            LessTif

            Lesstif ��ģ�� Motif �� toolkit, ���Ǹ��������壬���������·��
����/��ѵ�ȡ������չ�Ķ�������ΪҪʹ�� Motif ���븶�ѻ�ȡ����Ȩ��Ȼ��Ŀ
ǰ������� X-Window �����ǻ�� Motif д�ɵģ��ʲ���һȺ��־֮ʿ��չ����һ��
Motif �����Ʒ��LessTif ���ڳ���֮�У��� 1999 ��ף�LessTif ԭʼ�������
Motif1.2 ��Ĺ�񣬶� Motif �������� 2.1.20 �档

            OpenLook

            ��һ�� Xt-based �� GUI Toolkit���� Sun Microsystems �� AT&T ��
չ����� OpenLook �� Motif ����̳��֣�Unix ϵͳ���к�һ��ʱ�䣬һֱ���ڽ�
���׼����ս֮�У�ԭ�������Ϊ OpenLook �� Motif �ֱ��ṩ��ȫ��һ��Ľ����
����������� Sun Microsystem ���������� Motif ����׼ GUI ���棬�Ž�������
��ս��

            Xforms

            Xforms ���ǽ����� Xlib ���ϵ�һ�� X Window System GUI
 toolkit��

            TCl/TK

            TCL (�� "tickle") Ϊ Tool Command Language ����д��TCL ��һ����
�ִ����õ����ԡ�TK (���� "tee-kay") ������������ TCL���� TCL ����������ͼ��
ʹ���߽���� GUI Toolkit��

            Supported GUI Builders

            SpecTCL
            http://www.scriptics.com/products/spectcl/


            Perl/Tk (ptk)

            ����˼�壬����֪�������� Perl ���׳�ʽ������ʵ��������  Tk GUI
Toolkit���� Perl ���﷨������Ժ;��˵ķ�չ�ٶ�������ʹ�� Perl/Tk ����Ӧ�ò�
���� TCL/Tk �����١�

            Supported GUI Builders

            SpecPerl
            http://www.keck.ucsf.edu/~kvale/specperl.html


            QtTM

            QtTM (������ "cute" ��ͬ) Ҳ��һ�� GUI Toolki ���Ƚ��ر��������
�� C++ ����д�ɣ�����Ŀǰ GNU/Linux KDE ������ Qt ����� GUI Library ����
����ͬʱ Qt Ҳ��һ�׿�ƽ̨�ĺ�ʽ�⣬�� Qt д�ɵ����壬���Ժ����ɵ���ֳ�� X
Window �� Microsoft Windows ƽ̨��ֻ����Ҫ�ر�ע�� License �����⣬Qt ��
Linux �ǿ����ʹ�ã����� Windows ƽ̨�ɾ��е㲻ͬ��

            (����Ҳ�� PerlQt ���ģ�飬��ϰ���� Perl ���Ե�����д Qt �ij�ʽ
��������� Perl CPAN ���ҵ� PerlQt��)

            Supported GUI Builders

            QtEZ (Project Manager��Source Editor��Menu Editor��Signal/Slot
Editor��Attribute Editor)
            http://www.ibl.sk/qtez/
            EBuilder (Design Editor��Signal/Slot Editor)
            http://www.phys.uu.nl/~meer/Ebuilder/
            Qt Architect (Dialog Editor)
            http://www.qtarch.intranova.net/


            KDE

            KDE Project �ǽ����� Qt ֮�ϵĺ�ʽ�⡣���֮�⣬KDE ��Ŀ����Ҫ��
GNU/Linux ϵͳ�Ͻ���һ���� Common Desktop Environment һ������ͼ�ν���ʹ��
���������� KDE ������ Window Manager ��Desktop Manager��ͬʱ������һ�� KDE
�����塣

            Supported GUI Builders

            QtEZ (Project Manager��Source Editor��Menu Editor��Signal/Slot
Editor��Attribute Editor)
            http://www.ibl.sk/qtez/
            Kdevelop (Project Manager��Source Editor��Dialog Editor��Class
Viewer��Application Wizard��Class Generator��Documentation Browser)
            Kdevelop ��������IJ����о��� Microsoft Visual C++ �dz����ơ�
            http://www.kdevelop.org/
            KDE studio (Project Manager��Source Editor��Dialog Editor��
FormBuilder)
            http://www.softarc.com/~msharkey/kdestudio


            GTK

            GTK+ (GIMP Tool Kit) Ҳ��һ�� GUI ToolKit (�� C ����Ϊ�����
��)������������ X Window System ��ͼ��Ϊ�� (GUI-based) ��Ӧ�ó�ʽ��һ��ʼ
GTK+ ��д���� GIMP (GNU Image Manipulation Program) ͼ�δ�������ʹ�õġ�����
�ձ�ʹ��� GNOME �͸������塣

            Ŀǰ GTK+ �зdz���������֧Ԯ���� C++ �� Gtk--��Perl-GTK+��
Python-GTK+ �ȵ� (���� GTK+ ��վ���ҵ��������Ե���Ѷ)������Ҳ�в��ٵ���ƹ�
�߿��Ը����� GTK+ Ϊ����ij�ʽ��

            Supported GUI Builders

            Glade (Project Manager��Palette Window��Property Window)
            Glade Ԥ������ C ԭʼ�룬�ɴ�������֧Ԯ XML �Ĺ���������ͬ��
�Եij�ʽ�롣
            http://glade.pn.org/
            GRAD (Project Manager��Source Editor��Visual Editor��Debuger)
            ���� Delphi �� Borland C++ Builder �� RAD Tool��
            http://grad.penguin.cz/
            VDKBuilder (Project Manager��Source Editor��GUI Editor��Widget
Inspector)
            http://www.programmers.net/artic/Motta/vdkbuilder/index.htm
            Perl Composer (Project manager��Code Editor��Property Editor��
Form Viewer��Palette)
            �� wycc (����������) ǰ�����Ƶ� Perl/GTK GUI Builder��Ŀ���ǽ���
һ Visual Basic like �Ŀ�������)��
            http://linux.ece.uci.edu/~wangy/VisualPerl/vperl.html


            GNOME

            GNOME (GNU Network Object Model Environment) Ϊ�� GTK Ϊ���ͼ
�ν��溯ʽ��.���� KDE һ��GNOME Ҳ���Խ���һ���������Ƶ�ͼ��ʹ�û���ΪĿ
�꣬���ṩ GNOME ��ص����塣

            Supported GUI Builders

            Glade (Project Manager��Palette Window��Property Window)
            Glade Ԥ������ C ԭʼ�룬�ɴ�������֧Ԯ XML �Ĺ���������ͬ��
�Եij�ʽ�롣
            http://glade.pn.org/


            Java AWT ��JFC

            Java AWT toolkit (Abstract Window Toolkit) �� Java Foundation
Class (JFC) components Ϊ Java ��ͼ�ν������⣬�����ó�ʽ���ʦ׫д GUI ��
ʽ��ֻҪ��֧Ԯ Java ����ҵƽ̨�Ϳ�ִ�С�

            Supported GUI Builders

            JBuilder Foundation
            http://www.inprise.com/jbuilder/foundation/


            ����

            ������ǵ�һ�νӴ� X Programming��Ҳ��Ҳ�����һ���������� GUI
Library Ū���ۻ����ң����������ڿ��걾��֮�ᣬ��Ӧ���Ѿ�����һЩ��Ҫ�Ĺ��
��һ���������ѡ���ֹ����� Xlib �����ͽ׵� C ���������д X ��ʽ�����Ǵ�
������Ŀ�ġ�GUI Toolkit����ѡ����һ����д X ��ʽ (�������Ҫ���������
Widget �ĸ�����д X ��ʽ��)��

            ��춵��׸�ѡ����һ�׺�ʽ��ȽϺã���û��һ����˵�������뿴�Լ���
�������������ֵij�ʽ���ԡ�������ý������ͼ�ν��棬�������в��ɿ��ܵ�
���ɣ��������� GNU/Linux �� KDE �� GNOME Ϊ������������ Qt+KDE ���� GTK+
GNOME ��������ʽ��Ӧ���Dz����ѡ��

            ���⣬��������������Щ GUI Libraries ����Ƴ�ʽ�Ĺ���Ҳ���ࣺ��
���� C/C++ IDE ��ϻ��� Kdevelop��VDK (Visual Development Kit)��gIDE ���Ǹ�
Java �õ� JBuilder��Perl �õ� Perl Composer �� Perl Builder��Python �õ�
Python Builder�����и� GTK+ �� GNOME �õĽ����ʽ������ Glade �ȵȡ�

            ֻҪ�����ȶ���Щ GUI Toolkits ������ͨ�̵��˽⣬�����һ���� GUI
Toolkits �����ʵ�Ļ� (���ù��߰�����д��ʽ)����ʱ����������Щ����Ĺ��ߣ�
��Ҫ�� X Window System ��дд�򵥵ij�ʽӦ�þͲ��������ˡ�

            PS: ��Ҳֻ���ռ��Ƚϳ���� GUI Toolkits ���ϣ��� X ���绹�к�
�� GUI Toolkits ��û�г������ⲿ�ݾ��뿴 References �е���վ��Դ�ˡ�

            References��

            �ο��ļ���
            Kenton Lee: X Programming Model
            http://www.rahul.net/kenton/txa/jun95.html
            Virtual Domicile of Steven K. Baum (���� GUI Library ��������)��
            http://stommel.tamu.edu/~baum/ocean_graphics.html
            Jeff Pitchers- X Window Guide

http://formast.lut.ac.uk/ASlab/info/usage/X-doc/XwindowGuide/doc.html
            Glade ������
            http://mmlab.im.fju.edu.tw/~maa/xwindow/2000/2000010201.htm

            ����ߺ������վ��

            Kenton Lee X Window System Consulting (�dz��dz��dz��ḻ�� X ��Ѷ
��)
            http://www.rahul.net/kenton/index.shtml
            л����������վ (CLE Developer��Xcin Maintainer)�������ֵ���ղ�
�� GNU/Linux �� X Programming ��������������Ʒ��
            http://twcpro.phys.ntu.edu.tw/~thhsieh/
            Freshmeat (Linux ÿ���½��������?�����ٶȿ�)
            http://freshmeat.net/
            LinuxApps (�dz����������ѶϢ���ģ�������Ľ����ر���ʵ)
            http://www.linuxapps.com/
            Perl CPAN (Comprehensive Perl Archive Network)
            http://www.perl.com/CPAN
            Perl Builder
            http://www.solutionsoft.com/perl.htm
            Python Builder
            http://www.pcpros.net/~vbman/
            (http://www.fanqiang.com)
Technical Details
Message-ID: <3de3318a$1@news.cn99.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!sn-xit-06!sn-xit-04!supernews.com!38.144.126.76.MISMATCH!feed2.newsreader.com!newsreader.com!newsfeed.media.kyoto-u.ac.jp!news.cn99.com!News.Newsfan.Net

Show Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB
X-Google-Thread: 10b277,9c8c655fd3a4322d,start
X-Google-Attributes: gid10b277,public
X-Google-ArrivalTime: 2002-11-25 09:08:20 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-05!sn-xit-06!sn-xit-04!supernews.com!38.144.126.76.MISMATCH!feed2.newsreader.com!newsreader.com!newsfeed.media.kyoto-u.ac.jp!news.cn99.com!News.Newsfan.Net
From: "��ä" <xxxx@xxx.com>
Newsgroups: cn.comp.os.linux
Subject: X-Window ��� API
Date: 26 Nov 2002 00:32:10 +0800
Organization: News.Newsfan.Net
Lines: 299
Message-ID: <3de3318a$1@news.cn99.com>
NNTP-Posting-Host: 218.21.98.198
X-Trace: mail.cn99.com 1038244087 32578 218.21.98.198 (25 Nov 2002 17:08:07 GMT)
X-Complaints-To: usenet@news.cn99.com
NNTP-Posting-Date: Mon, 25 Nov 2002 17:08:07 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106