��� ������� �������� ��: English Castellano Deutsch Francais Nederlands Russian Turkce |
����� Charles VIDAL �� ������ : �������� ����������������� ������ � ������. ����������� ��������� GNU � Open Source �� ����������� ������ ��������. ����� �� �������� ����� ��� ���� �� ���������. ����������:
|
������:
���� ������� - ������������ ������������ �������������� Tcl : Tk. ����� ����� ������������������ �������� GUI � ��������� �����.
Tk ��� ���������� ��� ���������� ����� Tcl ������������ �������������, ������ �� ��������� ��� Tcl/Tk ( ������������ ��� Tikel/Tikey ).
��� ������������������ ����������� ��������������, ������������ ��� ����� ��. Tk ��������� ���������� � ������ ������������������ ������������ - ������ Tcl. �������� ������������� ���� ������ �������� �������� �������������. ������������� ����������� ���������� ��������� ����� ������.
pack [ label .l -text "Bonjour monde" ]
#include <gtk/gtk.h> Int main( int argc, char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; gtk_init(&&argc, &&argv); /* create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); button = gtk_button_new_with_label ("Bonjour Monde"); gtk_container_add (GTK_CONTAINER (window), button); gtk_widget_show (button); /* and the window */ gtk_widget_show (window); gtk_main (); return(0); }��� � Motif
/* COMPILE cc xmhello.c -L/usr/X11R6/lib -lXm -lXt -lX11 -lXmu -o xmhello */ #include <Xm/PushB.h> #include <Xm/Form.h> /* Widget */ Widget main_widget, pushb; main(int argc, char **argv) { Widget form; Arg args[1]; int ac = 0; XmString label_str; main_widget = XtInitialize(argv[0], "test", NULL, 0, &&argc, argv); label_str = XmStringCreate("Bonjour Monde", XmSTRING_DEFAULT_CHARSET); XtSetArg(args[ac], XmNlabelString, label_str); ac++; pushb = XmCreatePushButton(main_widget, "hello", args, ac); XtManageChild(pushb); XtRealizeWidget(main_widget); XtMainLoop(); }�� ����� ���� �������� ������ ���������� ��� ���������� ��� �������������� � �����������. � ���� ������ ����������� ���������� �� ������ ������, ���������� ����������. ������������ ������ ������, ��� ��� �� ����� ������� - ��������� ������ ��������� � ������� Tk �������� ������������� ������. �� ����� �������� ���� ���������� �������� �������� �� ���������.
��� ��������� ��������� ��������� � ������� /usr/local/lib/tk8.0/demos/
�
��������� widget.
����� ��������� ���������. �� ���������� ����������, ��������� ���������� ������ � ����������, ����� ������� �������� ��������� : Tix, the widgets Incr Tcl , BWidget, ��� �������� �� ����� scriptics
label .mylabel -text "hello world"
���������� �������� : ������ ���������� � �������� �������, ������� ���������� �������, ����� �������� ��� ����������� ����������, ��� . ���������� "root window" � ��������� �������� (-text " hello Word "). �������, ��� ������ � ��������� ����������� ����� �������� ������ ������� :
.mylabel cget text hello world
.mylabel configure -text "Bonjour Monde in french :)"
puts [label .mylabel -text "hello world"]
����� ������ ����� ������� ��������� ���������� ������ ������� :
.mylabel configure -text " This is the date [exec date ]"��� ��������� ��������� ��� ��������� ������� ����������� ������� : ".ylabel configure" � ������������� ������ Wish.
�������, �� ���� ������ ������� ������, �� �� ������ ��� �� �����. ��� ����������� ������� ���������� �������������� ����������, ������� �� ��� �� ���������� - � ����� ���� ���� ������� ������.
���������� ��������� layouts:
������������������� Hello Word
label .mylabel -text "hello world"
pack .mylabel
��� ����� �������
pack [label .mylabel -text "hello world"]
������
���������� ������ ������ :
button .myboutton -text "hello world" -command "exit"
pack .myboutton
�������, ��� �� �������� ��������� "command", ����� ������� �����
��������� ������� ����� tcl ��� ������� ������������� �� ������. � �����
������� ��� ������� exit ��� ������ �� ���������.
Checkbuttons � radiobuttons.
checkbutton $w.b1 -text "Wipers OK" -variable wipers -relief flat -onvalue "Ok" -offvalue "not Ok"
radiobutton .b1 -text "Premier " -variable size -value 1
radiobutton .b2 -text "Second " -variable size -value 2
entry .e -textvariable toto -width 40
������ :
pack [ button .b1 -text top ] -side top pack [ button .b2 -text bottom ] -side bottom pack [ button .b3 -text right ] -side right pack [ button .b4 -text right ] -side left |
������ : place [ label .l -text "With Place"] -x 100 -y 100 .l configure -bg red
label .mainlbl2 -text "Label 2" -bd 2 -relief sunken
grid .mainlbl2 -row 0 -column 1 -sticky news
label .mainlbl1 -text "Label 1" -bd 2 -relief raised
grid .mainlbl1 -row 0 -column 0 -sticky news
label .mainlbl3 -text "Label 3" -bd 2 -relief solid
grid .mainlbl3 -row 1 -column 0
label .mainlbl4 -text "Label 4" -bd 2 -relief groove
grid .mainlbl4 -row 1 -column 1
������� winfo ������� ������ ��������� ��������.
winfo exists name_object��� :
winfo children .
�������� -command ���������� �������� ����������� � ����� �� �������. �� ������ ������, ����� ���������� ����� ����� ��������� �������� ��� ����������� ��������� �������. ��� ���� ���� ������ ������ canvas.
bind name_of_widget name_of_event tcl_code.
������ �� �������� "Control C" ��� ���������� ���������� : bind all <Control-c> {destroy .}����� ������� �������� ������ : ��������� ���� ���� ��� ��� �������� ����� tcl string first; ���� �� ��� ������� �������� - ������� ���� ������ �����; ������� ���� ��� ������ �������� ��� ������� ������, �������� ������ ����� ��� ������...
#!/bin/sh # the next line restarts using wish \ exec wish8.0 "$0" "$@" global tabgui proc makegui { } { global tabgui # # Creation of the scrollbars for the list # then the horizontal scrollbar is placed right, filling up horizontally the window # and the vertical scrollbaris placed below, filling up vertically the window # set tabgui(scrollv) [scrollbar .scrollv -command ".list yview"] pack $tabgui(scrollv) -side right -fill y set tabgui(scrollh) [scrollbar .scrollh -command ".list xview" -orient horizontal ] pack $tabgui(scrollh) -side bottom -fill x # # Creation of the list associating it to the scrollbar # # set tabgui(list) [listbox .list \ -yscroll "$tabgui(scrollv) set" \ -xscroll "$tabgui(scrollh) set" \ -relief sunken -width 20 -height 20 \ -setgrid yes ] pack $tabgui(list) -side left -fill both -expand yes wm minsize . 1 1 } # # Creation of the GUI # makegui if $argc>0 {set tarfile [lindex $argv 0]} else {puts stderr "tar file missing" ; exit} set command "tar -tzvf $tarfile" set tube [ open |$command r] while {![eof $tube]} { set tarresult [ gets $tube ] $tabgui(list) insert end $tarresult } bind all <Control-c> {destroy .}
|
Webpages maintained by the LinuxFocus Editor team
© Charles VIDAL, FDL LinuxFocus.org Click here to report a fault or send a comment to Linuxfocus |
Translation information:
|
2000-10-31, generated by lfparser version 1.5