Gtkdialog - লিনাক্সে শেল স্ক্রিপ্ট ব্যবহার করে গ্রাফিকাল (GTK +) ইন্টারফেস এবং ডায়ালগ বাক্স তৈরি করুন


Gtkdialog (বা gtkdialog) লিনাক্স শেল স্ক্রিপ্টগুলির সাহায্যে GTK + ইন্টারফেস এবং ডায়ালগ বাক্স তৈরি এবং GTK লাইব্রেরি ব্যবহারের পাশাপাশি একটি এক্সএমএল-মতো সিনট্যাক্স ব্যবহার করার জন্য একটি ওপেন সোর্স নিফটি ইউটিলিটি which gtkdialog ব্যবহার করে ইন্টারফেস তৈরি করা সহজ করে তোলে। এটি জেনিটি নামে পরিচিত সর্বাধিক বিখ্যাত সরঞ্জামের সাথে সমান, তবে এটি এমন কিছু দরকারী কাস্টমাইজযোগ্য বৈশিষ্ট্য নিয়ে আসে যা আপনাকে সহজেই ভিউবক্স, এইচবক্স, বোতাম, ফ্রেম, পাঠ্য, মেনু এবং আরও অনেক কিছু তৈরি করতে সক্ষম করে।

আরও পড়ুন : জেনিটি ব্যবহার করে জিটিকে + গ্রাফিকাল ডায়ালগ বক্সগুলি তৈরি করুন

লিনাক্সে Gtkdialog ইনস্টলেশন

আপনি gtkdialog-0.8.3 ডাউনলোড করতে পারেন (এটি সর্বশেষতম সংস্করণ) বা আপনি উইজেট কমান্ডও ব্যবহার করতে পারেন, ডাউনলোড করা ফাইলটি আনপ্যাক করুন এবং উত্স থেকে সংকলন করতে নিম্নলিখিত কমান্ডগুলি চালাতে পারেন।

$ 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

এখন কিছু বাক্স তৈরি করা শুরু করা যাক, আপনার বাড়ির ফোল্ডারে একটি নতুন " মাইপোগ্রাম " তৈরি করুন।

$ cd
$ touch 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 ব্যবহার করে তৈরি এবং কার্যকর করা হয়েছিল।

এখন, আমরা সংক্ষেপে কোডটি ব্যাখ্যা করব।

  1. #!/বিন/ব্যাশ : কোনও শেল স্ক্রিপ্টের প্রথম লাইন, এটি ব্যাশ শেল পাথ নির্দিষ্ট করতে ব্যবহৃত হয়
  2. GTKDIALOG = gtkdialog : এখানে আমরা gtkdialog দিয়ে শেল স্ক্রিপ্টটি সম্পাদন করার পরে এটির ব্যবহারের জন্য একটি পরিবর্তনশীল সংজ্ঞায়িত করেছি, gtkdialog ব্যবহার করে তৈরি করা সমস্ত স্ক্রিপ্টগুলিতে এই লাইনটি অবশ্যই থাকা উচিত
  3. MAIN_DIALOG = রফতানি করুন: আর একটি পরিবর্তনশীল আমরা সংজ্ঞায়িত করেছি যা আমাদের ইন্টারফেসের জন্য সমস্ত সিনট্যাক্স ধারণ করবে, আপনি MAIN_DIALOG যে কোনও নামের সাথে প্রতিস্থাপন করতে পারেন, তবে আপনাকে এটির শেষ 4 লাইনেও প্রতিস্থাপন করতে হবে লিপি।
  4. উইন্ডো শিরোনাম : আমি মনে করি না যে এই কোডটি ব্যাখ্যা করার দরকার আছে, আমরা উইন্ডোটির জন্য একটি শিরোনাম, একটি ডিফল্ট আইকন তৈরি করেছি, আমরা এটি চয়ন করি এটি পরিবর্তনযোগ্য বা না, এবং আমরা সংজ্ঞায়িত করেছি প্রস্থ এবং উচ্চতা আমরা চাই, অবশ্যই এই সমস্ত অপশন গৌণ, আপনি চাইলে কেবল < উইন্ডো ট্যাগটি ব্যবহার করতে পারেন
  5. <<> : আমরা একটি উল্লম্ব বাক্স তৈরি করতে vbox ট্যাগ ব্যবহার করি, অন্যান্য ট্যাগ যেমন Hbox এবং বোতাম ইত্যাদির জন্য একটি vbox ট্যাগ তৈরি করা গুরুত্বপূর্ণ important
  6. <<> : এখানে আমরা ট্যাগ ব্যবহার করে একটি অনুভূমিক বাক্স তৈরি করেছি, "স্পেস-ফিল" এবং "স্পেস-প্রসারণ" হ্যান্ডবক্সটি উইন্ডো দিয়ে প্রসারিত করার বিকল্প <
  7. <<< বাটন> : একটি নতুন বোতাম তৈরি করুন
  8. << লেবেল> : এটি বোতামটির জন্য ডিফল্ট পাঠ্য, আমরা লেবেল ট্যাগটি ব্যবহার করে বন্ধ করে দিয়েছি, অবশ্যই আমরা যে ট্যাগগুলি ব্যবহার করি সেগুলি বন্ধ করা খুব গুরুত্বপূর্ণ <
  9. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 3 , এটি <<<<> ব্যবহার করে বন্ধ করতে ভুলবেন না
  10. << : বোতাম ট্যাগটি বন্ধ করতে
  11. << : এইচবক্স ট্যাগটি বন্ধ করতে।
  12. <<: উইন্ডো ট্যাগ বন্ধ করতে

শেষ 4 টি লাইনগুলি অবশ্যই আপনার সমস্ত শেল স্ক্রিপ্টগুলিতে থাকতে হবে যা আপনি gtkdialog ব্যবহার করে তৈরি করেন, তারা উইন্ডোটি কেন্দ্রের জন্য সেন্টার বিকল্পের সাথে gtkdialog কমান্ড ব্যবহার করে MAIN_DIALOG ভেরিয়েবল কার্যকর করে, বাস্তবে এটি খুব কার্যকর।

একইভাবে, অন্য একটি ফাইল তৈরি করুন এবং এটিকে ‘সেকেন্ডপ্রগ্রাম’ হিসাবে কল করুন এবং এটিতে নিম্নলিখিত সম্পূর্ণ সামগ্রী যুক্ত করুন।

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

এখন, আমরা সংক্ষেপে কোডটি ব্যাখ্যা করব।

  1. আমরা ব্যবহার করে একটি কম্বোবক্স উইজেট তৈরি করি, <পরিবর্তনশীল> ট্যাগটি নির্বাচিত আইটেমটি সংরক্ষণ করা হবে এমন ভেরিয়েবলের ডিফল্ট নাম we >
  2. একটি অনুভূমিক বিভাজক, আপনি প্রস্থ-অনুরোধ বিকল্পটি ব্যবহার করে এর জন্য ডিফল্ট প্রস্থটি সেট করতে পারেন
  3. <বোতাম ওকে> হ'ল একটি ওকে বোতাম যা আপনি উইন্ডোটি ক্লিক করার সাথে সাথেই বন্ধ করে দেবেন, এটি খুব কার্যকরী তাই আমাদের কাস্টম বোতামটি তৈরি করার দরকার নেই ও।

‘তৃতীয় প্রোগ্রাম’ নামে আর একটি ফাইল তৈরি করুন এবং এতে পুরো গোছা কোড যুক্ত করুন।

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

এখানে কোডের আরও বিশদভাবে ব্যাখ্যা।

  1. আমরা <নোটবুক> ব্যবহার করে দুটি নোটবুক ট্যাব তৈরি করেছি, ট্যাব-লেবেল বিকল্পটি যেখানে আপনি ট্যাব তৈরি করতে পারবেন, gtkdialog আপনার প্রবেশ করানো লেবেলের উপর নির্ভর করে ট্যাব তৈরি করবে, প্রতিটি একটি ট্যাব হিসাবে সংজ্ঞায়িত করা হয়েছে, তাই প্রথম ট্যাব প্রথম দিয়ে শুরু হয়, দ্বিতীয় ট্যাব দ্বিতীয় দিয়ে শুরু হয়
  2. <<<<<<<<< একটি পাঠ্য উইজেট, আমরা এর জন্য ডিফল্ট পাঠ্য সেট করতে <লেবেল> ট্যাগটি ব্যবহার করেছি
  3. << ট্যাগটি একটি নতুন স্পিন বোতাম তৈরি করবে, পরিসীমা-মিনিট বিকল্পটি ন্যূনতম মান এবং স্পিন বোতামের জন্য পরিসীমা-সর্বাধিক মান, পরিসীমা-মানটি ডিফল্ট মান স্পিন বোতামের জন্য
  4. আমরা <স্পিনবটন> কে একটি পরিবর্তনশীল "মাইস্কেল" দিয়েছি
  5. আমরা ইকো এবং $মাইস্কেল ভেরিয়েবল ব্যবহার করে নির্বাচিত মানটি মুদ্রণ করেছি, এখানে ক্রিয়াটির জন্য ডিফল্ট সংকেতটি "মান-পরিবর্তিত" যা আমাদের এটি করতে সহায়তা করেছিল

এটি কেবল একটি উদাহরণ উইন্ডো ছিল, আপনি যদি gtkdialog ব্যবহার করে আরও জটিল ইন্টারফেস তৈরি করতে পারেন তবে আপনি নীচের লিঙ্ক থেকে সমস্ত gtkdialog ট্যাগ দেখতে gtkdialog ওয়েবসাইটে অফিসিয়াল ডকুমেন্টেশন ব্রাউজ করতে পারেন।

Gtkdialog ডকুমেন্টেশন

আপনি কি আগে শেল স্ক্রিপ্টগুলির জন্য জিইউআই তৈরি করতে gtkdialog ব্যবহার করেছেন? অথবা আপনি ইন্টারফেস তৈরি করতে এই জাতীয় কোনও ইউটিলিটি ব্যবহার করেছেন? আপনি এটি সম্পর্কে কি মনে করেন?