Gtkdialog - Ṣẹda Awọn atọkun Aworan (GTK +) ati Awọn apoti ajọṣọ Lilo Awọn iwe afọwọkọ Shell ni Lainos


Gtkdialog (tabi gtkdialog) jẹ orisun ṣiṣi fun ni ṣiṣẹda fun ṣiṣẹda ati ikole awọn wiwo GTK + ati Awọn apoti ajọṣọ pẹlu iranlọwọ ti awọn iwe afọwọkọ ikarahun Linux ati lilo ikawe GTK, bii lilo sintasi iru xml kan, eyiti mu ki o rọrun lati ṣẹda awọn atọkun nipa lilo gtkdialog. O jọra pupọ si ọpa ti o gbajumọ julọ ti a pe ni Zenity, ṣugbọn o wa pẹlu diẹ ninu awọn ẹya asefara iwulo to wulo eyiti o jẹ ki o ni rọọrun lati ṣẹda ọpọlọpọ awọn ẹrọ ailorukọ bi vbox, hbox, bọtini, fireemu, ọrọ, akojọ, ati pupọ diẹ sii.

Ka Tun : Ṣẹda Awọn apoti ajọṣọ GTK + Graphical ni lilo Zenity

Fifi sori ẹrọ ti Gtkdialog ni Lainos

O le ṣe igbasilẹ gtkdialog-0.8.3 (eyiti o jẹ ẹya tuntun) tabi o tun le lo aṣẹ wget, ṣaja faili ti o gba lati ayelujara ati ṣiṣe awọn ofin wọnyi lati ṣajọ lati orisun.

$ 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

Bayi jẹ ki a bẹrẹ ṣiṣẹda awọn apoti diẹ, ṣẹda iwe afọwọkọ\" myprogram " tuntun ninu folda ile rẹ.

$ cd
$ touch myprogram

Bayi ṣii\" myprogram " faili ni lilo eyikeyi olootu ọrọ ti o fẹ, ki o ṣafikun koodu atẹle si rẹ.

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

Fipamọ faili naa, ki o ṣeto ṣeto igbanilaaye ati ṣiṣe bi o ti han.

$ chmod 755 myprogram
$ ./myprogram

Eyi ni bii eto akọkọ rẹ ti ṣẹda ati ṣiṣe ni lilo gtkdialog.

Bayi, a yoo ṣalaye koodu ni kukuru.

  1. #!/bin/bash : Laini akọkọ ti eyikeyi iwe ikarahun, o ti lo lati ṣafihan ọna ọna ikarahun bash.
  2. GTKDIALOG = gtkdialog : Nibi a ṣalaye oniyipada kan lati lo nigbamii nigbati o ba n ṣe iwe afọwọkọ pẹlu gtkdialog, laini yii gbọdọ wa ni gbogbo awọn iwe afọwọkọ ti o ṣẹda nipa lilo gtkdialog.
  3. gbejade MAIN_DIALOG = : Oniyipada miiran ti a ṣalaye eyiti yoo ni gbogbo sintasi fun wiwo wa, o le rọpo MAIN_DIALOG pẹlu orukọ eyikeyi ti o fẹ, ṣugbọn o ni lati rọpo rẹ tun ni awọn ila 4 to kẹhin ti iwe afọwọkọ.
  4. Akọle Ferese : Emi ko ro pe koodu yii nilo lati ṣalaye, a ṣẹda akọle, aami aiyipada fun window, a yan boya o le tunṣe tabi rara, ati pe a ṣalaye iwọn ati giga ti a fẹ, nitorinaa gbogbo awọn aṣayan wọnyẹn jẹ atẹle, o le kan lo aami ti o ba fẹ.
  5. : A lo ami atokọ vbox lati ṣẹda apoti inaro, o ṣe pataki lati ṣẹda taagi vbox lati le ni awọn afi afi miiran bi hbox ati bọtini, ati bẹbẹ lọ.
  6. << apoti> : Nibi a ṣẹda apoti petele kan nipa lilo tag ,\"aaye-kun" ati\"aaye-faagun" jẹ awọn aṣayan lati faagun hbox nipasẹ window.
  7. : Ṣẹda bọtini tuntun.
  8. : Eyi ni ọrọ aiyipada fun bọtini, a pa ami atokọ ni lilo , nitorinaa o ṣe pataki pupọ lati pa gbogbo awọn taagi ti a nlo./li>
  9. > : Eyi ni ohun ti o ṣẹlẹ nigbati a tẹ bọtini naa, o le ṣiṣe aṣẹ ikarahun kan ti o ba fẹ tabi ṣe eyikeyi faili miiran ti o ba fẹ, ọpọlọpọ awọn iṣe ati awọn ami lo wa pẹlu , maṣe gbagbe lati pa a nipa lilo >.
  10. >: Lati pa tag ti bọtini.
  11. : Lati pa tag tag.
  12. : Lati pa tag ti window.

Awọn ila 4 ti o kẹhin gbọdọ tun wa ni gbogbo awọn iwe afọwọkọ ikarahun ti o ṣẹda nipa lilo gtkdialog, wọn ṣe iyipada MAIN_DIALOG nipa lilo pipaṣẹ gtkdialog pẹlu aṣayan-aarin lati ṣe aarin window naa, o wulo pupọ ni otitọ.

Bakan naa, ṣẹda faili miiran ki o pe ni ‘eto keji’ ki o ṣafikun gbogbo akoonu atẹle si rẹ.

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

Fipamọ faili naa, ṣeto ṣiṣe igbanilaaye lori rẹ ati ṣiṣe bi o ti han.

$ chmod 755 secondprogram
$ ./secondprogram

Bayi, a yoo ṣalaye koodu ni kukuru.

  1. A ṣẹda ẹrọ ailorukọ combobox nipa lilo , aami tag ni orukọ aiyipada ti oniyipada eyiti ohun ti o yan yoo wa ni fipamọ, a lo oniyipada yii lati tẹ nkan ti o yan nigbamii nipa lilo iwoyi.
  2. jẹ ipinya petele, o le ṣeto iwọn aiyipada fun o ni lilo aṣayan ibeere iwọn.
  3. jẹ bọtini O dara ti yoo pa window naa ni kete ti o tẹ, o wulo pupọ nitorinaa a ko nilo lati ṣẹda bọtini aṣa lati ṣe iyẹn.

Ṣẹda faili miiran ti a pe ni ‘programgram kẹta ’ki o ṣafikun gbogbo opo koodu si.

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

Fipamọ faili naa, fifun ni ṣiṣe igbanilaaye ati ina bi o ti han.

$ chmod 755 thirdprogram
$ ./thirdprogram

Nibi, alaye ti koodu ni aṣa alaye diẹ sii.

  1. A ṣẹda awọn taabu iwe ajako meji ni lilo , aṣayan aami taabu ni ibiti o le ṣẹda awọn taabu, gtkdialog yoo ṣẹda awọn taabu da lori awọn aami ti o tẹ, gbogbo ti wa ni asọye bi taabu kan, nitorinaa taabu akọkọ bẹrẹ pẹlu akọkọ , taabu keji bẹrẹ pẹlu ekeji .
  2. jẹ ailorukọ ọrọ, a lo aami
  3. tag
  4. tag yoo ṣẹda bọtini iyipo tuntun, aṣayan ibiti-min ni iye to kere julọ, ati ibiti max-max jẹ iye ti o pọ julọ fun bọtini yiyi, iye ibiti o jẹ iye aiyipada fun bọtini lilọ.
  5. A fun oniyipada “myscale” si .
  6. A tẹjade iye ti a yan nipa lilo iwoyi ati oniyipada myscale $, ami aiyipada fun iṣẹ nihin ni “iyipada-iye” eyiti o ṣe iranlọwọ fun wa lati ṣe bẹ.

Eyi jẹ ferese apẹẹrẹ kan, o le ṣẹda awọn atọkun diẹ sii idiju nipa lilo gtkdialog ti o ba fẹ, o le lọ kiri lori iwe aṣẹ osise ni oju opo wẹẹbu gtkdialog lati wo gbogbo awọn afi gtkdialog lati ọna asopọ ni isalẹ.

Iwe Gtkdialog

Njẹ o ti lo gtkdialog lati ṣẹda awọn GUI fun awọn iwe afọwọkọ ikarahun rẹ ṣaaju? Tabi o ti lo iru iru iwulo bẹẹ lati ṣẹda awọn atọkun? Kini o ro nipa rẹ?