Gtkdialog - Mepụta interface eserese (GTK+) na igbe okwu site na iji scripts Shell na Linux.
Gtkdialog (ma ọ bụ gtkdialog) bụ ihe mepere emepe dị mma maka imepụta na wuo GTK+ Interfaces na igbe okwu site n'enyemaka nke scripts shei Linux yana iji ọba akwụkwọ GTK, yana iji syntax dị ka xml, nke na-eme ka ọ dị mfe ịmepụta oghere site na iji gtkdialog. Ọ dị ka ngwá ọrụ a ma ama nke a na-akpọ Zenity, mana ọ na-abịa na ụfọdụ njirimara nwere ike ịhazi ya nke na-enyere gị aka ịmepụta ọtụtụ wijetị dị ka vbox, hbox, button, frame, text, menu, na ọtụtụ ndị ọzọ.
Gụọkwa : Mepụta igbe okwu eserese GTK+ site na iji Zenity
Nwụnye Gtkdialog na Linux
Ị nwere ike budata gtkdialog-0.8.3 (nke bụ ụdị kachasị ọhụrụ) ma ọ bụ ị nwekwara ike iji wget iwu, wepụ faịlụ ebudatara ma mee iwu ndị a iji chịkọta site na isi iyi.
$ sudo apt-get install build-essential [on Debian based systems]
# yum install gcc make gcc-c++ [on RedHat based systems]
$ wget https://gtkdialog.googlecode.com/files/gtkdialog-0.8.3.tar.gz $ tar -xvf gtkdialog-0.8.3.tar.gz $ cd gtkdialog-0.8.3/ $ ./configure $ make $ sudo make install
Ugbu a, ka anyị malite ịmepụta igbe ụfọdụ, mepụta script ọhụrụ \myprogram n'ime folda ụlọ gị.
$ cd $ touch myprogram
Ugbu a mepee faịlụ \myprogram site na iji editọ ederede ọ bụla ịchọrọ, tinyekwa koodu a na ya.
#!/bin/bash GTKDIALOG=gtkdialog export MAIN_DIALOG=' <window title="My First Program" icon-name="gtk-about" resizable="true" width-request="300" height-request="310"> <vbox> <hbox space-fill="true" space-expand="true"> <button> <label>Welcome to TecMint.com Home!</label> <action>echo "Welcome to TecMint.com Home!"</action> </button> </hbox> </vbox> </window> ' case $1 in -d | --dump) echo "$MAIN_DIALOG" ;; *) $GTKDIALOG --program=MAIN_DIALOG --center ;; esac ------------
Chekwaa faịlụ ahụ, ma tọọ ikikere wee mee ya dịka egosiri.
$ chmod 755 myprogram $ ./myprogram
Nke a bụ ka mmemme mbụ gị si mepụta wee mee ya site na iji gtkdialog.
Ugbu a, anyị ga-akọwa koodu na nkenke.
- #!/bin/bash: Ahịrị mbụ nke edemede shei ọ bụla, a na-eji ya akọwa ụzọ bash shei.
- GTKDIALOG = gtkdialog: N'ebe a, anyị kọwapụtara mgbanwe iji mee ya ma emechaa mgbe ị na-eji gtkdialog na-eme script shei, ahịrị a ga-abụrịrị na script niile ị mepụtara site na iji gtkdialog.
- export MAIN_DIALOG=: mgbanwe ọzọ anyị kọwapụtara nke ga-enwe syntax niile maka interface anyị, ị nwere ike dochie MAIN_DIALOG n'aha ọ bụla ịchọrọ, mana ị ga-eji dochie ya n'ahịrị anọ ikpeazụ nke script.
- Isi okwu mpio: Echeghị m na ọ dị mkpa ka a kọwapụta koodu a, anyị mepụtara aha, akara ndabara maka mpio ahụ, anyị na-ahọrọ ma ọ ga-agbanwe ma ọ bụ na ọ bụghị, anyị kọwapụtara ya. obosara na ịdị elu anyị chọrọ, n'ezie nhọrọ ndị ahụ niile bụ nke abụọ, ị nwere ike iji mkpado
ma ọ bụrụ na ịchọrọ. : Anyị na-eji mkpado vbox mepụta igbe kwụ ọtọ, ọ dị mkpa ka imepụta mkpado vbox iji nwee mkpado ndị ọzọ dị ka hbox na bọtịnụ, wdg. : N'ebe a, anyị mepụtara igbe kwụ ọtọ site na iji akara , \space-fill na \space-expand bụ nhọrọ iji gbasaa hbox site na mpio. - : Mepụta bọtịnụ ọhụrụ.
- : Nke a bụ ederede ndabara maka bọtịnụ ahụ, anyị jiri mechie mkpado, n'ezie ọ dị ezigbo mkpa imechi mkpado niile anyị na-eji.< /li>
: Nke a na-eme mgbe ịpịrị bọtịnụ, ị nwere ike ịme iwu shei ma ọ bụrụ na ịchọrọ ma ọ bụ mebie faịlụ ọ bụla ọzọ ma ọ bụrụ na ịchọrọ, enwere ọtụtụ omume na akara ndị ọzọ. , echefula imechi ya site na iji . - : Imechi mkpado bọtịnụ.
- : Imechi mkpado hbox.
- : Imechi mkpado mpio.
Ahịrị 4 ikpeazụ ga-adịkwa na scripts shei niile ị mepụtara site na iji gtkdialog, ha na-eme mgbanwe MAIN_DIALOG site na iji gtkdialog na nhọrọ -center ka etiti windo, bara ezigbo uru n'ezie.
N'otu aka ahụ, mepụta faịlụ ọzọ wee kpọọ ya ka 'mmemme nke abụọ'' tinyekwa ọdịnaya niile na ya.
#!/bin/bash GTKDIALOG=gtkdialog export MAIN_DIALOG=' <window title="My Second Program" icon-name="gtk-about" resizable="true" width-request="250" height-request="150"> <vbox> <hbox space-fill="true"> <combobox> <variable>myitem</variable> <item>First One</item> <item>Second One</item> <item>Third One</item> </combobox> </hbox> <hbox> <button> <label>Click Me</label> <action>echo "You choosed $myitem"</action> </button> </hbox> <hseparator width-request="240"></hseparator> <hbox> <button ok></button> </hbox> </vbox> </window> ' case $1 in -d | --dump) echo "$MAIN_DIALOG" ;; *) $GTKDIALOG --program=MAIN_DIALOG --center ;; esac
Chekwaa faịlụ, tọọ ikike na ya wee mee ya dịka egosiri.
$ chmod 755 secondprogram $ ./secondprogram
Ugbu a, anyị ga-akọwa koodu na nkenke.
- Anyị na-emepụta wijetị combobox site na iji
, mkpado bụ aha ndabara nke mgbanwe nke ihe a họọrọ ga-echekwa na ya, anyị jiri mgbanwe a bipụta ihe ahọpụtara ma emechaa jiri echo. > bụ ihe nkesa kwụ ọtọ, ị nwere ike ịtọ obosara ndabara maka ya site na iji nhọrọ arịrịọ obosara. - bụ bọtịnụ OK ga-emechi windo naanị mgbe ịpịrị ya, ọ bara uru nke ukwuu yabụ na anyị achọghị ịmepụta bọtịnụ omenala iji mee. na.
Mepụta faịlụ ọzọ a na-akpọ 'program nke atọ'ma tinye ụyọkọ koodu na ya.
#!/bin/bash GTKDIALOG=gtkdialog export MAIN_DIALOG=' <window title="My Second Program" icon-name="gtk-about" resizable="true" width-request="250" height-request="150"> <notebook tab-label="First | Second|"> <vbox> <hbox space-fill="true"> <combobox> <variable>myitem</variable> <item>First One</item> <item>Second One</item> <item>Third One</item> </combobox> </hbox> <hbox> <button> <label>Click Me</label> <action>echo "You choosed $myitem"</action> </button> </hbox> <hseparator width-request="240"></hseparator> <hbox> <button ok></button> </hbox> </vbox> <vbox> <hbox space-fill="true"> <text> <label>Spinbutton </label> </text> </hbox> <hbox space-fill="true" space-expand="true"> <spinbutton range-min="0" range-max="100" range-value="4"> <variable>myscale</variable> <action>echo $myscale</action> </spinbutton> </hbox> <hbox> <button ok></button> </hbox> </vbox> </notebook> </window> ' case $1 in -d | --dump) echo "$MAIN_DIALOG" ;; *) $GTKDIALOG --program=MAIN_DIALOG --center ;; esac
Chekwaa faịlụ ahụ, nyefe ikike wee gbaa ya ọkụ dịka egosiri.
$ chmod 755 thirdprogram $ ./thirdprogram
N'ebe a, nkọwa nke koodu na ejiji zuru ezu karị.
- Anyị mepụtara taabụ akwụkwọ ndetu abụọ site na iji
, nhọrọ taabụ-label bụ ebe ị nwere ike ịmepụta taabụ, gtkdialog ga-emepụta taabụ dabere na akara ndị ị banyere, a na-akọwa ọ bụla dị ka taabụ, yabụ taabụ nke mbụ. malite na nke mbụ, taabụ nke abụọ na-amalite na nke abụọ. bụ wijetị ederede, anyị na-eji mkpado mkpado ga-emepụta bọtịnụ ntụgharị ọhụrụ, nhọrọ nkeji nkeji bụ uru kacha nta, yana oke-max bụ uru kachasị maka bọtịnụ ntụgharị, oke-uru bụ uru ndabara. maka bọtịnụ ntụgharị. - Anyị nyere mgbanwe myscale na
. - Anyị bipụtara uru ahọpụtara site na iji echo na $myscale variable, akara ndabara maka ihe omume ebe a bụ “uru-gbanwere” nke nyeere anyị aka ime nke ahụ.
Nke a bụ naanị windo ihe atụ, ịnwere ike iji gtkdialog mepụta oghere ndị gbagwojuru anya karị ma ọ bụrụ na ịchọrọ, ịnwere ike ịchọgharị akwụkwọ gọọmentị na webụsaịtị gtkdialog ka ịlele mkpado gtkdialog niile site na njikọ dị n'okpuru.
Akwụkwọ Gtkdialog
Ị jirila gtkdialog mepụta GUI maka scripts shei gị na mbụ? Ma ọ bụ na ị na-ejila ụdị ọrụ a mepụta interfaces? Kedu ihe ị chere maka ya?