Gtkdialog - Ustvarjanje grafičnih vmesnikov in pogovornih oken (GTK +) z uporabo skriptov lupine v Linuxu


Gtkdialog (ali gtkdialog) je čudovit pripomoček za ustvarjanje in gradnjo GTK + vmesnikov in pogovornih oken s pomočjo skriptov lupine Linuxa in z uporabo knjižnice GTK ter z uporabo xml podobne sintakse, ki omogoča enostavno ustvarjanje vmesnikov z uporabo gtkdialog. Podobno je najbolj znanemu orodju Zenity, vendar ima nekaj uporabnih prilagodljivih funkcij, ki vam omogočajo enostavno ustvarjanje številnih pripomočkov, kot so vbox, hbox, gumb, okvir, besedilo, meni in še veliko več.

Preberite tudi : Z Zenityjem ustvarite grafična pogovorna okna GTK +

Namestitev Gtkdialog v Linux

Lahko prenesete gtkdialog-0.8.3 (ki je najnovejša različica) ali pa uporabite tudi ukaz wget, razpakirate preneseno datoteko in zaženete naslednje ukaze za prevajanje iz vira.

$ 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

Zdaj pa začnimo ustvarjati nekaj polj, v domači mapi ustvarite nov skript\" myprogram ".

$ cd
$ touch myprogram

Zdaj odprite datoteko\" myprogram " s katerim koli urejevalnikom besedil in ji dodajte naslednjo kodo.

#!/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 
------------

Shranite datoteko in nastavite dovoljenje za izvajanje ter jo zaženite, kot je prikazano.

$ chmod 755 myprogram
$ ./myprogram

Tako je ustvarjen in izveden vaš prvi program s pomočjo gtkdialog.

Zdaj bomo na kratko razložili kodo.

  1. #!/bin/bash : Prva vrstica katerega koli skripta lupine se uporablja za določitev poti lupine bash.
  2. GTKDIALOG = gtkdialog : Tu smo definirali spremenljivko, ki jo bomo pozneje uporabili pri izvajanju skripte lupine z gtkdialog, ta vrstica mora biti v vseh skriptih, ki jih ustvarite z gtkdialog.
  3. izvoz MAIN_DIALOG = : Druga spremenljivka, ki smo jo določili in bo vsebovala sintakso našega vmesnika, lahko MAIN_DIALOG zamenjate s poljubnim imenom, vendar ga morate zamenjati tudi v zadnjih 4 vrsticah skript.
  4. Naslov okna : mislim, da te kode ni treba razlagati, ustvarili smo naslov, privzeto ikono za okno, izbrali smo, ali je bilo mogoče spremeniti velikost ali ne, in opredelili smo širino in višino, ki jo želimo, seveda so vse te možnosti sekundarne, če želite, lahko uporabite samo oznako .
  5. : Oznako vbox uporabljamo za ustvarjanje navpičnega polja, pomembno je, da ustvarimo oznako vbox, da vsebuje druge oznake, kot sta hbox in gumb itd.
  6. : Tu smo ustvarili vodoravno polje z oznako ,\"space-fill" in\"space-expand" sta možnosti za razširitev hbox-a skozi okno.
  7. : To je privzeto besedilo gumba, oznako oznake smo zaprli s pomočjo , seveda je zelo pomembno, da zapremo vse oznake, ki jih uporabljamo.
  8. : To se zgodi, ko kliknete gumb, lahko zaženete ukaz lupine, če želite ali zaženete katero koli drugo datoteko, če želite, obstaja tudi veliko drugih dejanj in signalov , ne pozabite ga zapreti z uporabo .
  9. : za zapiranje oznake gumba.
  10. : za zapiranje oznake hbox.
  11. : za zapiranje oznake okna.

Zadnje 4 vrstice morajo biti tudi v vseh skriptih lupine, ki jih ustvarite s pomočjo gtkdialog, izvajajo spremenljivko MAIN_DIALOG z ukazom gtkdialog z možnostjo –center za centriranje okna, kar je zelo koristno.

Podobno ustvarite drugo datoteko in jo pokličite kot "secondprogram" in ji dodajte naslednjo celotno vsebino.

#!/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

Shranite datoteko, nastavite izvršilno dovoljenje in jo zaženite, kot je prikazano.

$ chmod 755 secondprogram
$ ./secondprogram

Zdaj bomo na kratko razložili kodo.

  1. Gradnik combobox ustvarimo z uporabo , oznaka je privzeto ime spremenljivke, v kateri bo shranjen izbrani element, s to spremenljivko smo pozneje natisnili izbrani element z uporabo echo.
  2. je vodoravni ločilnik, privzeto širino zanj lahko nastavite z možnostjo širine-zahteve.
  3. je gumb V redu, ki bo zaprl okno, ko ga kliknete, je zelo koristen, zato nam ni treba ustvariti gumba po meri to.

Ustvarite drugo datoteko z imenom "thirdprogram" in ji dodajte celo vrsto kode.

#!/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

Shranite datoteko, podelite dovoljenje za izvajanje in jo sprožite, kot je prikazano.

$ chmod 755 thirdprogram
$ ./thirdprogram

Tu je podrobnejša razlaga kode.

  1. Z smo ustvarili dva zavihka zvezka, možnost oznake zavihka je, kjer lahko ustvarite zavihke, gtkdialog bo ustvaril zavihke, odvisno od vpisanih oznak, vsak je definiran kot zavihek, zato je prvi zavihek začne se s prvim , drugi zavihek pa z drugim .
  2. je pripomoček za besedilo, z oznako
  3. Oznaka
  4. bo ustvarila nov gumb za vrtenje, možnost min-min je najnižja vrednost, razpon-maks pa največja vrednost gumba za vrtenje, vrednost-razpon je privzeta vrednost za gumb za vrtenje.
  5. smo dali spremenljivko »myscale«.
  6. Izbrano vrednost smo natisnili s spremenljivko echo in $myscale, privzeti signal za dejanje je »vrednost spremenjena«, kar nam je pomagalo pri tem.

To je bilo samo primer okna. Če želite, lahko z uporabo gtkdialog ustvarite bolj zapletene vmesnike. Po uradni dokumentaciji na spletnem mestu gtkdialog lahko poiščete vse gtkdialog oznake na spodnji povezavi.

Dokumentacija Gtkdialog

Ste že uporabljali gtkdialog za ustvarjanje GUI-jev za vaše skripte lupine? Ali ste za ustvarjanje vmesnikov uporabili kakšen tak pripomoček? Kaj misliš o tem?