„Gtkdialog“ - sukurkite grafines (GTK +) sąsajas ir dialogo langelius naudodami „Linux“ „Shell“ scenarijus


Gtkdialog (arba gtkdialog) yra puikus atvirojo kodo įrankis, skirtas kurti ir kurti GTK + sąsajas ir dialogo langelius naudojant „Linux“ apvalkalo scenarijus ir naudojant GTK biblioteką, taip pat naudojant į xml panašią sintaksę, kuri leidžia lengvai sukurti sąsajas naudojant gtkdialog. Tai yra labai panaši į garsiausią įrankį, vadinamą „Zenity“, tačiau jame yra keletas naudingų pritaikomų funkcijų, kurios leidžia lengvai sukurti daugybę valdiklių, tokių kaip „vbox“, „hbox“, mygtukas, rėmelis, tekstas, meniu ir daug daugiau.

Taip pat skaitykite : sukurkite GTK + grafinius dialogo langelius naudodami „Zenity“

„Gtkdialog“ diegimas „Linux“

Galite atsisiųsti „gtkdialog-0.8.3“ (tai yra naujausia versija) arba galite naudoti komandą „wget“, išpakuoti atsisiųstą failą ir paleisti šias komandas, kad sukompiluotumėte iš šaltinio.

$ 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

Dabar pradėkime kurti keletą langelių, sukurkite naują scenarijų „ myprogram “ savo namų aplanke.

$ cd
$ touch myprogram

Dabar atidarykite failą „myprogram “ naudodami bet kurį norimą teksto redaktorių ir pridėkite prie jo šį kodą.

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

Išsaugokite failą, nustatykite vykdyti leidimą ir paleiskite jį, kaip parodyta.

$ chmod 755 myprogram
$ ./myprogram

Taip jūsų pirmoji programa buvo sukurta ir vykdoma naudojant gtkdialog.

Dabar trumpai paaiškinsime kodą.

  1. #!/bin/bash : Pirmoji bet kurio „shell“ scenarijaus eilutė naudojama norint nurodyti „bash“ apvalkalo kelią.
  2. GTKDIALOG = gtkdialog : Čia mes apibrėžėme kintamąjį, kad galėtume jį naudoti vėliau vykdydami apvalkalo scenarijų su gtkdialog, ši eilutė turi būti visuose scenarijuose, kuriuos sukūrėte naudodami gtkdialog.
  3. eksportuoti MAIN_DIALOG = : kitą mūsų apibrėžtą kintamąjį, kuriame bus visa mūsų sąsajos sintaksė, galite pakeisti MAIN_DIALOG bet kokiu norimu pavadinimu, tačiau jį turite pakeisti ir paskutinėse 4 eilutėse scenarijus.
  4. Lango pavadinimas : nemanau, kad šio kodo reikia paaiškinti, mes sukūrėme pavadinimą, numatytąją lango piktogramą, mes pasirenkame, ar jo dydį galima keisti, ir mes apibrėžėme norimo pločio ir aukščio, žinoma, visos šios parinktys yra antrinės, jei norite, galite tiesiog naudoti žymą .
  5. <> : Mes naudojame „vbox“ žymą, kad sukurtume vertikalų langelį. Svarbu sukurti „vbox“ žymą, kad joje būtų kitų žymų, pvz., „hbox“ ir „button“ ir kt. >
  6. <> : Čia mes sukūrėme horizontalų langelį naudodami žymą , „tarpo užpildymas“ ir „tarpo išplėtimas“ yra parinktys išplėsti „hbox“ per langą.
  7. <>
  8. <>, žinoma, labai svarbu uždaryti visas mūsų naudojamas žymas.
  9. <> : Taip nutinka spustelėjus mygtuką. Galite paleisti apvalkalo komandą, jei norite, arba, jei norite, paleisti bet kurį kitą failą, yra daugybė kitų veiksmų ir signalų nepamirškite jo uždaryti naudodami .
  10. <> : norėdami uždaryti mygtuko žymą.
  11. <> : uždarykite „hbox“ žymą.
  12. <> : uždarykite lango žymą.

Paskutinės 4 eilutės taip pat turi būti visuose apvalkalo scenarijuose, kuriuos sukūrėte naudodami „gtkdialog“. Jie kintamąjį MAIN_DIALOG vykdo naudodami komandą „gtkdialog“ su parinktimi –center lango centravimui, iš tikrųjų labai naudinga.

Panašiai sukurkite kitą failą ir pavadinkite jį „antrąja programa“ ir pridėkite visą šį turinį.

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

Išsaugokite failą, nustatykite jo vykdymo leidimą ir paleiskite jį, kaip parodyta.

$ chmod 755 secondprogram
$ ./secondprogram

Dabar trumpai paaiškinsime kodą.

  1. Sukuriame „Combobox“ valdiklį naudodamas , žyma yra numatytasis kintamojo, kuriame bus išsaugotas pasirinktas elementas, pavadinimas. Šį kintamąjį naudojome pasirinktam elementui atspausdinti vėliau, naudodami aidą.
  2. <> yra horizontalusis skyriklis, galite nustatyti numatytąjį jo plotį naudodami parinktį width-request.
  3. yra mygtukas Gerai, kuris uždarys langą, kai tik jį spustelėsite, jis yra labai naudingas, todėl mums nereikia kurti pasirinktinio mygtuko kad.

Sukurkite kitą failą, vadinamą „trečioji programa“, ir pridėkite prie jo visą kodą.

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

Išsaugokite failą, suteikite vykdyti leidimą ir suaktyvinkite, kaip parodyta.

$ chmod 755 thirdprogram
$ ./thirdprogram

Čia paaiškinamas kodas išsamiau.

  1. Sukūrėme du bloknotų skirtukus naudodami , skirtuko etiketės parinktyje galite kurti skirtukus, gtkdialog sukurs skirtukus priklausomai nuo įvestų etikečių, kiekvienas apibrėžiamas kaip skirtukas, taigi pirmasis skirtukas prasideda pirmuoju , antrasis skirtukas prasideda antruoju .
  2. <> yra teksto valdiklis, naudojome žymą
  3. <> žyma sukurs naują sukimo mygtuką, diapazonas-min parinktis yra mažiausia vertė, o diapazonas-maks - didžiausia sukimo mygtuko vertė, diapazono vertė yra numatytoji sukimo mygtukui.
  4. „Spinbutton>“ suteikėme kintamąjį „myscale“.
  5. Mes išspausdinome pasirinktą vertę naudodami echo ir $myscale kintamąjį, numatytasis veiksmo signalas čia yra „vertė pakeista“, o tai mums padėjo tai padaryti.

Tai buvo tik lango pavyzdys. Jei norite, galite sukurti sudėtingesnes sąsajas naudodami „gtkdialog“. Galite naršyti oficialią dokumentaciją „gtkdialog“ svetainėje, kad galėtumėte peržiūrėti visas „gtkdialog“ žymas iš toliau pateiktos nuorodos.

„Gtkdialog“ dokumentacija

Ar anksčiau naudojote „gtkdialog“, kad sukurtumėte GUI savo „shell“ scenarijams? Arba naudojote tokį įrankį sąsajoms kurti? Ką jūs manote apie tai?