Gtkdialog - ສ້າງການໂຕ້ຕອບແລະກ່ອງໂຕ້ຕອບແບບ Graphical (GTK +) ໂດຍໃຊ້ Scripts Shell ໃນ Linux


Gtkdialog (ຫຼື gtkdialog) ແມ່ນສິ່ງ ອຳ ນວຍຄວາມສະດວກ ສຳ ລັບການສ້າງແລະການກໍ່ສ້າງ GTK + ອິນເຕີເຟດແລະ Dialog Boxes ໂດຍການຊ່ວຍເຫຼືອຂອງ Linux shell scripts ແລະ ນຳ ໃຊ້ຫ້ອງສະຫມຸດ GTK, ພ້ອມທັງໃຊ້ syntax ຄ້າຍຄື xml, ເຊິ່ງ ເຮັດໃຫ້ງ່າຍຕໍ່ການສ້າງອິນເຕີເຟດໂດຍໃຊ້ gtkdialog. ມັນຄ້າຍກັບເຄື່ອງມືທີ່ມີຊື່ສຽງຫຼາຍທີ່ສຸດທີ່ເອີ້ນວ່າ Zenity, ແຕ່ມັນມາພ້ອມກັບຄຸນລັກສະນະຕ່າງໆທີ່ສາມາດປັບແຕ່ງໄດ້ເຊິ່ງຊ່ວຍໃຫ້ທ່ານສາມາດສ້າງ widget ຫຼາຍຢ່າງໄດ້ຢ່າງງ່າຍດາຍເຊັ່ນ: vbox, hbox, ປຸ່ມ, ກອບ, ຂໍ້ຄວາມ, ເມນູແລະອື່ນໆອີກຫຼາຍຢ່າງ.

ອ່ານນອກຈາກນີ້ : ສ້າງກ່ອງໂຕ້ຕອບແບບ GTK + Graphical Dialog Box ໂດຍໃຊ້ Zenity

ການຕິດຕັ້ງ Gtkdialog ໃນ Linux

ທ່ານສາມາດດາວໂຫລດ gtkdialog-0.8.3 (ເຊິ່ງເປັນເວີຊັ່ນລ້າສຸດ) ຫຼືທ່ານຍັງອາດຈະໃຊ້ ຄຳ ສັ່ງ wget, ຍົກເລີກເອກະສານທີ່ດາວໂຫລດແລ້ວແລະແລ່ນ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອລວບລວມຈາກແຫຼ່ງ.

$ 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

ດຽວນີ້ເລີ່ມຕົ້ນສ້າງກ່ອງບາງຢ່າງ, ສ້າງອັກສອນ ໃໝ່ " myprogram " ຢູ່ໃນໂຟນເດີທີ່ຢູ່ເຮືອນຂອງທ່ານ.

$ cd
$ touch myprogram

ຕອນນີ້ເປີດເອກະສານ“ myprogram ” ໂດຍໃຊ້ຕົວແກ້ໄຂຂໍ້ຄວາມໃດໆທີ່ທ່ານຕ້ອງການ, ແລະຕື່ມໃສ່ລະຫັດຕໍ່ໄປນີ້ໃສ່ມັນ.

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

ບັນທຶກເອກະສານ, ແລະ ກຳ ນົດການອະນຸຍາດແລະ ດຳ ເນີນການຕາມທີ່ສະແດງໄວ້.

$ chmod 755 myprogram
$ ./myprogram

ນີ້ແມ່ນວິທີທີ່ໂປແກຼມ ທຳ ອິດຂອງທ່ານສ້າງແລະ ດຳ ເນີນການໂດຍໃຊ້ gtkdialog.

ດຽວນີ້, ພວກເຮົາຈະອະທິບາຍລະຫັດສັ້ນໆ.

<

  • #!/bin/bash : ເສັ້ນ ທຳ ອິດຂອງສະຄິບແກະ, ມັນຖືກໃຊ້ເພື່ອ ກຳ ນົດເສັ້ນທາງຫອຍ bash.
  • GTKDIALOG = gtkdialog : ໃນທີ່ນີ້ພວກເຮົາໄດ້ ກຳ ນົດຕົວແປທີ່ຈະໃຊ້ມັນຕໍ່ມາເມື່ອປະຕິບັດການຂຽນສະຄິບ shell ດ້ວຍ gtkdialog, ສາຍນີ້ຕ້ອງຢູ່ໃນທຸກສະຄິບທີ່ທ່ານສ້າງໂດຍໃຊ້ gtkdialog.
  • ສົ່ງອອກ MAIN_DIALOG = : ຕົວປ່ຽນອີກອັນ ໜຶ່ງ ທີ່ພວກເຮົາໄດ້ ກຳ ນົດເຊິ່ງຈະປະກອບມີ syntax ທັງ ໝົດ ສຳ ລັບອິນເຕີເຟດຂອງພວກເຮົາ, ທ່ານສາມາດທົດແທນ MAIN_DIALOG ດ້ວຍຊື່ທີ່ທ່ານຕ້ອງການ, ແຕ່ທ່ານຕ້ອງປ່ຽນແທນມັນອີກ 4 ເສັ້ນສຸດທ້າຍ ອັກສອນ.
  • ຊື່ ໜ້າ ຕ່າງ : ຂ້ອຍບໍ່ຄິດວ່າລະຫັດນີ້ ຈຳ ເປັນຕ້ອງໄດ້ອະທິບາຍ, ພວກເຮົາໄດ້ສ້າງຫົວຂໍ້, ຮູບສັນຍາລັກ ສຳ ລັບ ໜ້າ ຕ່າງ, ພວກເຮົາເລືອກຖ້າມັນສາມາດປັບຂະ ໜາດ ໄດ້ຫຼືບໍ່ແລະພວກເຮົາໄດ້ ກຳ ນົດ ຄວາມກວ້າງແລະຄວາມສູງທີ່ພວກເຮົາຕ້ອງການ, ແນ່ນອນວ່າຕົວເລືອກທັງ ໝົດ ເຫຼົ່ານັ້ນແມ່ນຮອງ, ທ່ານພຽງແຕ່ສາມາດໃຊ້ແທັກ ຖ້າທ່ານຕ້ອງການ.
  • : ພວກເຮົາໃຊ້ແທັກ vbox ເພື່ອສ້າງກ່ອງແນວຕັ້ງ, ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະສ້າງແທັກ vbox ເພື່ອຈະມີແທັກອື່ນໆເຊັ່ນ: hbox ແລະປຸ່ມ, ແລະອື່ນໆ.
  • >
  • : ທີ່ນີ້ພວກເຮົາໄດ້ສ້າງກ່ອງແນວນອນໂດຍໃຊ້ແທັກ ,“ ຊ່ອງຕື່ມຂໍ້ມູນ” ແລະ“ ການຂະຫຍາຍພື້ນທີ່” ແມ່ນຕົວເລືອກຕ່າງໆທີ່ຈະຂະຫຍາຍ hbox ຜ່ານປ່ອງຢ້ຽມ.
  • : ນີ້ແມ່ນຂໍ້ຄວາມເລີ່ມຕົ້ນ ສຳ ລັບປຸ່ມ, ພວກເຮົາໄດ້ປິດປ້າຍຊື່ໂດຍໃຊ້ , ແນ່ນອນວ່າມັນມີຄວາມ ສຳ ຄັນຫຼາຍທີ່ຈະຕ້ອງປິດປ້າຍທັງ ໝົດ ທີ່ພວກເຮົາໃຊ້.
  • : ສິ່ງນີ້ຈະເກີດຂື້ນເມື່ອກົດປຸ່ມ, ທ່ານສາມາດໃຊ້ ຄຳ ສັ່ງ shell ຖ້າທ່ານຕ້ອງການຫຼືປະຕິບັດເອກະສານອື່ນຖ້າທ່ານຕ້ອງການ, ມັນກໍ່ມີຫຼາຍການກະ ທຳ ແລະສັນຍານເຊັ່ນກັນ , ຢ່າລືມປິດມັນໂດຍໃຊ້ .
  • : ເພື່ອປິດປ້າຍປຸ່ມ.
  • : ເພື່ອປິດແທັກ hbox.
  • : ເພື່ອປິດແທັກ ໜ້າ ຕ່າງ.
  • 4 ສາຍສຸດທ້າຍກໍ່ຕ້ອງມີຢູ່ໃນສະຄິບແກະທັງ ໝົດ ທີ່ທ່ານສ້າງໂດຍໃຊ້ gtkdialog, ພວກມັນຈະປະຕິບັດຕົວແປ MAIN_DIALOG ໂດຍໃຊ້ ຄຳ ສັ່ງ gtkdialog ກັບຕົວເລືອກ –center ເພື່ອຕັ້ງປ່ອງຢ້ຽມ, ເປັນປະໂຫຍດຫຼາຍໃນຄວາມເປັນຈິງ.

    ເຊັ່ນດຽວກັນ, ສ້າງແຟ້ມເອກະສານອື່ນແລະເອີ້ນມັນວ່າ 'ວິນາທີສອງ' ແລະເພີ່ມເນື້ອຫາທັງ ໝົດ ຕໍ່ໄປນີ້ໃສ່ມັນ.

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

    ບັນທຶກເອກະສານ, ກຳ ນົດການອະນຸຍາດລົງໃສ່ມັນແລະ ດຳ ເນີນການຕາມທີ່ສະແດງໄວ້.

    $ chmod 755 secondprogram
    $ ./secondprogram

    ດຽວນີ້, ພວກເຮົາຈະອະທິບາຍລະຫັດສັ້ນໆ.

    <

  • ພວກເຮົາສ້າງ widget combobox ໂດຍໃຊ້ , ແທັກ ແມ່ນຊື່ເດີມຂອງຕົວແປທີ່ສິນຄ້າທີ່ເລືອກຈະຖືກເກັບໄວ້, ພວກເຮົາໃຊ້ຕົວແປນີ້ເພື່ອພິມສິ່ງທີ່ເລືອກພາຍຫລັງໂດຍໃຊ້ echo.
  • >
  • ແມ່ນຕົວແຍກອອກທາງນອນ, ທ່ານສາມາດ ກຳ ນົດຄວາມກວ້າງຂອງຄ່າເລີ່ມຕົ້ນ ສຳ ລັບມັນໂດຍໃຊ້ຕົວເລືອກຄວາມຕ້ອງການຄວາມກວ້າງ.
  • ແມ່ນປຸ່ມ OK ທີ່ຈະປິດ ໜ້າ ຕ່າງເມື່ອທ່ານກົດປຸ່ມມັນກໍ່ມີປະໂຫຍດຫລາຍທີ່ພວກເຮົາບໍ່ ຈຳ ເປັນຕ້ອງສ້າງປຸ່ມທີ່ຕ້ອງເຮັດ ນັ້ນ.
  • ສ້າງແຟ້ມເອກະສານອື່ນທີ່ມີຊື່ວ່າ 'thirdprogram' ແລະເພີ່ມລະຫັດທັງ ໝົດ ໃສ່ມັນ.

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

    ບັນທຶກເອກະສານ, ໃຫ້ການອະນຸຍາດປະຕິບັດແລະມອດໄຟຕາມທີ່ສະແດງໄວ້.

    $ chmod 755 thirdprogram
    $ ./thirdprogram

    ນີ້, ຄຳ ອະທິບາຍຂອງລະຫັດໃນຮູບແບບທີ່ລະອຽດກວ່າ.

    <

  • ພວກເຮົາໄດ້ສ້າງແທັບໂນດບຸກສອງ ໜ່ວຍ ໂດຍໃຊ້ , ຕົວເລືອກແທັບແທັກແມ່ນບ່ອນທີ່ທ່ານສາມາດສ້າງແທັບໄດ້, gtkdialog ຈະສ້າງແທັບອີງຕາມປ້າຍທີ່ທ່ານໃສ່, ທຸກໆ ແມ່ນຖືກ ກຳ ນົດເປັນແທັບ, ສະນັ້ນແທັບ ທຳ ອິດ ເລີ່ມຕົ້ນດ້ວຍ ທຳ ອິດ, ແຖບທີສອງເລີ່ມຕົ້ນດ້ວຍ ສອງ.
  • ແມ່ນບັນດາຕົວ ໜັງ ສື, ພວກເຮົາໄດ້ໃຊ້ແທັກ
  • ແທັກ
  • ຈະສ້າງປຸ່ມ ໝູນ ວຽນ ໃໝ່, ຕົວເລືອກຊ່ວງ -min ແມ່ນຄ່າຕ່ ຳ ສຸດ, ແລະ range-max ແມ່ນມູນຄ່າສູງສຸດ ສຳ ລັບປຸ່ມ spin, ຄ່າ - ຂອບເຂດແມ່ນຄ່າເລີ່ມຕົ້ນ ສຳ ລັບປຸ່ມ ໝຸນ.
  • ພວກເຮົາໄດ້ໃຫ້ຕົວປ່ຽນ“ myscale” ໃຫ້ .
  • ພວກເຮົາພິມຄ່າທີ່ເລືອກໂດຍໃຊ້ຕົວແປ echo ແລະ $myscale, ສັນຍານເລີ່ມຕົ້ນ ສຳ ລັບການກະ ທຳ ຢູ່ນີ້ແມ່ນ "ປ່ຽນແປງຄ່າ" ເຊິ່ງຊ່ວຍໃຫ້ພວກເຮົາເຮັດແບບນັ້ນ.
  • ນີ້ແມ່ນພຽງແຕ່ປ່ອງຢ້ຽມຂອງຕົວຢ່າງເທົ່ານັ້ນ, ທ່ານສາມາດສ້າງອິນເຕີເຟດທີ່ສັບສົນຫຼາຍຂຶ້ນໂດຍໃຊ້ gtkdialog ຖ້າທ່ານຕ້ອງການ, ທ່ານສາມາດເບິ່ງເອກະສານທາງການໃນເວັບໄຊທ໌ gtkdialog ເພື່ອເບິ່ງແທັກ gtkdialog ທັງ ໝົດ ຈາກລິງຂ້າງລຸ່ມນີ້.

    ເອກະສານ Gtkdialog

    ທ່ານໄດ້ໃຊ້ gtkdialog ເພື່ອສ້າງ GUIs ສຳ ລັບສະຄິບແກະຂອງທ່ານກ່ອນບໍ? ຫຼືທ່ານໄດ້ໃຊ້ປະໂຫຍດໃດໆດັ່ງກ່າວເພື່ອສ້າງອິນເຕີເຟດ? ທ່ານຄິດແນວໃດກ່ຽວກັບມັນ?