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.

  1. #!/bin/bash: Ahịrị mbụ nke edemede shei ọ bụla, a na-eji ya akọwa ụzọ bash shei.
  2. 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.
  3. 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.
  4. 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ọ.
  5. : 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.
  6. : 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.
  7. : Mepụta bọtịnụ ọhụrụ.
  8. : 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>
  9. : 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 .
  10. : Imechi mkpado bọtịnụ.
  11. : Imechi mkpado hbox.
  12. : 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.

  1. 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.
  2. >
  3. bụ ihe nkesa kwụ ọtọ, ị nwere ike ịtọ obosara ndabara maka ya site na iji nhọrọ arịrịọ obosara.
  4. 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ị.

  1. 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ụọ.
  2. bụ wijetị ederede, anyị na-eji mkpado
  3. 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ị.
  4. Anyị nyere mgbanwe myscale na .
  5. 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?