Gtkdialog - Izveidojiet grafiskas (GTK +) saskarnes un dialoglodziņus, izmantojot Linux čaulas skriptus


Gtkdialog (vai gtkdialog) ir atvērta pirmkoda lietderība, lai izveidotu un izveidotu GTK + saskarnes un dialoglodziņus ar Linux čaulas skriptu palīdzību un izmantotu GTK bibliotēku, kā arī izmantotu xml līdzīgu sintaksi, kas ļauj viegli izveidot saskarnes, izmantojot gtkdialog. Tas ir daudz līdzīgs slavenākajam rīkam ar nosaukumu Zenity, taču tam ir dažas noderīgas pielāgojamas funkcijas, kas ļauj viegli izveidot daudzus logrīkus, piemēram, vbox, hbox, pogas, rāmi, tekstu, izvēlni un daudz ko citu.

Lasīt arī : izveidojiet GTK + grafiskos dialoglodziņus, izmantojot Zenity

Gtkdialog instalēšana Linux

Jūs varat lejupielādēt gtkdialog-0.8.3 (kas ir jaunākā versija), vai arī varat izmantot komandu wget, izpakot lejupielādēto failu un palaist šīs šīs komandas, lai kompilētu no avota.

$ 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

Tagad sāksim izveidot dažas rūtiņas, izveidojiet jaunu skriptu “myprogram ” mājas mapē.

$ cd
$ touch myprogram

Tagad atveriet failu “myprogram ”, izmantojot jebkuru nepieciešamo teksta redaktoru, un pievienojiet tam šādu kodu.

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

Saglabājiet failu un iestatiet izpildes atļauju un palaidiet to, kā parādīts.

$ chmod 755 myprogram
$ ./myprogram

Tā jūsu pirmā programma tika izveidota un izpildīta, izmantojot gtkdialog.

Tagad mēs īsumā izskaidrosim kodu.

  1. #!/bin/bash : jebkura apvalka skripta pirmā rindiņa tiek izmantota, lai norādītu bash čaulas ceļu.
  2. GTKDIALOG = gtkdialog : Šeit mēs definējām mainīgo, lai to izmantotu vēlāk, izpildot čaulas skriptu ar gtkdialog, šai rindai jābūt visās skriptos, kurus izveidojat, izmantojot gtkdialog.
  3. eksportēt MAIN_DIALOG = : vēl viens mūsu definēts mainīgais, kurā būs visa mūsu interfeisa sintakse, jūs varat aizstāt MAIN_DIALOG ar jebkuru vēlamo vārdu, taču tas ir jāaizstāj arī pēdējās četrās rindiņās skripts.
  4. Loga nosaukums : Es nedomāju, ka šis kods ir jāizskaidro, mēs izveidojām virsrakstu, loga noklusējuma ikonu, mēs izvēlamies, vai tā lielumu var mainīt vai nē, un mēs definējām vēlamais platums un augstums, protams, visas šīs opcijas ir sekundāras, ja vēlaties, varat vienkārši izmantot tagu .
  5. <> : vertikālās lodziņa izveidošanai mēs izmantojam tagu vbox, ir svarīgi izveidot vbox tagu, lai tajā būtu citi tagi, piemēram, hbox un button utt.
  6. <> : Šeit mēs izveidojām horizontālu lodziņu, izmantojot tagu , “space-fill” un “space-expand” ir iespējas paplašināt hbox caur logu.
  7. <>
  8. <>, protams, ir ļoti svarīgi aizvērt visus izmantotos tagus.
  9. <> : tas notiek, noklikšķinot uz pogas, ja vēlaties, varat palaist čaulas komandu vai izpildīt jebkuru citu failu, ja vēlaties, ir arī daudzas citas darbības un signāli , neaizmirstiet to aizvērt, izmantojot .
  10. <> : lai aizvērtu pogas tagu.
  11. <> : lai aizvērtu hbox tagu.
  12. <> : lai aizvērtu loga tagu.

Pēdējām 4 rindām jābūt arī visos čaulas skriptos, kurus izveidojat, izmantojot gtkdialog, tie izpilda mainīgo MAIN_DIALOG, izmantojot komandu gtkdialog ar loga centrēšanas opciju –center, kas faktiski ir ļoti noderīgi.

Līdzīgi izveidojiet citu failu un sauciet to par “otro programmu” un pievienojiet tam visu šādu saturu.

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

Saglabājiet failu, iestatiet izpildes atļauju tajā un palaidiet to, kā parādīts.

$ chmod 755 secondprogram
$ ./secondprogram

Tagad mēs īsumā izskaidrosim kodu.

  1. Mēs izveidojam kombinētās kastes logrīku, izmantojot , tags ir tā mainīgā noklusējuma nosaukums, kurā tiks saglabāts izvēlētais vienums. Mēs izmantojām šo mainīgo, lai vēlāk atlasītu vienumu izdrukātu, izmantojot atbalss.
  2. <> ir horizontāls atdalītājs. Varat iestatīt tā noklusējuma platumu, izmantojot opciju width-request.
  3. ir poga Labi, kas aizver logu tieši tad, kad noklikšķināt uz tā, tā ir ļoti noderīga, tāpēc mums nav jāizveido pielāgota poga tas.

Izveidojiet citu failu ar nosaukumu “trešā programma” un pievienojiet tam visu kodu.

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

Saglabājiet failu, piešķiriet izpildes atļauju un aktivizējiet to, kā parādīts.

$ chmod 755 thirdprogram
$ ./thirdprogram

Šeit koda skaidrojums sīkāk.

  1. Mēs izveidojām divas piezīmju grāmatiņu cilnes, izmantojot . Cilnes etiķetes opcija ir vieta, kur varat izveidot cilnes, gtkdialog izveidos cilnes atkarībā no ievadītajām iezīmēm, katra tiek definēta kā cilne, tāpēc pirmā cilne sākas ar pirmo , otrā cilne sākas ar otro .
  2. <> ir teksta logrīks, lai iestatītu noklusējuma tekstu, mēs izmantojām tagu
  3. <> tags izveidos jaunu griešanās pogu, opcija diapazons-min ir minimālā vērtība un diapazona-maksimālā griešanās pogas vērtība, diapazona vērtība ir noklusējuma vērtība vērpšanas pogai.
  4. Mēs piešķīrām mainīgo “myscale”.
  5. Atlasīto vērtību mēs izdrukājām, izmantojot echo un $myscale mainīgo. Šeit noklusētais darbības signāls ir “vērtība mainīta”, kas mums to palīdzēja izdarīt.

Šis bija tikai loga piemērs. Ja vēlaties, varat izveidot sarežģītākas saskarnes, izmantojot gtkdialog, varat pārlūkot oficiālo dokumentāciju gtkdialog vietnē, lai apskatītu visus gtkdialog tagus no tālāk esošās saites.

Gtkdialog dokumentācija

Vai iepriekš esat izmantojis gtkdialog, lai izveidotu GUI jūsu čaulas skriptiem? Vai arī jūs esat izmantojis kādu no šīm lietderībām, lai izveidotu saskarnes? Ko jūs domājat par to?