ٹکنٹر پروگریس بار

Kn R Prwgrys Bar



آپ پروگریس بار ویجیٹ کے ساتھ ایک طویل عمل کی حیثیت پر کلائنٹ کو اپ ڈیٹ کر سکتے ہیں۔ ویجیٹ کا مقصد صارف کو یہ اعتماد فراہم کرنا ہے کہ کچھ ہو رہا ہے۔ اس کے آپریشن کے دو مختلف طریقے ہیں۔ جب متعین موڈ میں ہو، ویجیٹ ایک اشارہ دکھاتا ہے جو پہلے سے طے شدہ سمت میں سفر کرتا ہے۔ ویجیٹ کو غیر متعین حالت میں منتقل کیا جاتا ہے تاکہ کلائنٹ کو یہ تاثر ملے کہ کچھ ہو رہا ہے۔ سگنل اس انداز میں ویجیٹ کی انتہاؤں کے درمیان آگے پیچھے ہوتا رہتا ہے۔ اس ٹیوٹوریل میں Python میں طے شدہ اور غیر متعین پیش رفت بار کے استعمال کا احاطہ کیا جائے گا۔

آئیے Python کی Tkinter لائبریری کی ترتیب کے ساتھ شروع کرتے ہیں۔ ٹرمینل کے کامیاب آغاز کے بعد، Tkinter پیکیج کو ترتیب دینے کے لیے درج ذیل استفسار کو آزمائیں۔ اس ہدایت کو استعمال کرنے سے پہلے اس بات کو یقینی بنائیں کہ Python پہلے سے انسٹال ہے۔

$ sudo apt python3-tk انسٹال کریں۔







مثال 1

آئیے Python کی اپنی پہلی مثال کے ساتھ شروع کرتے ہیں Tkinter ماڈیول کو استعمال کرنے کے لیے اس کے GUI میں ایک متعین پروگریس بار بنانے کے لیے۔ اس طرح، ہم نے 'new.py' کے نام سے ایک نئی Python فائل بنائی ہے اور درج ذیل کوڈ کو شامل کیا ہے۔ ہم نے اس کوڈ کو پہلی لائن میں پائیتھن کی ٹکنٹر لائبریری سے تمام چائلڈ آبجیکٹ درآمد کرکے شروع کیا۔ اس کے بعد، ہم نے کوڈ کی دوسری لائن میں Tkinter ماڈیول سے 'ttk' کلاس آبجیکٹ درآمد کیا۔



Tk() کلاس کنسٹرکٹر کو بلایا گیا ہے اور اس کے آبجیکٹ کو 't' متغیر میں محفوظ کیا گیا ہے۔ 'ٹائٹل' فنکشن GUI کے لیے ٹائٹل بنانے کے لیے 't' آبجیکٹ متغیر کے ساتھ پہنچ گیا ہے۔ جیومیٹری () فنکشن کے ذریعے GUI Tkinter ونڈو کا سائز '300×200' پر سیٹ کیا گیا ہے۔ پروگریس بار 'Pbar()' صارف کی طرف سے طے شدہ فنکشن کے ذریعے تیار کیا جائے گا۔ ہم اس مضمون کے آخری حصے میں اس فنکشن پر ایک نظر ڈالیں گے۔



ہم نے 8 پر ایک متغیر 'p' بنایا ہے۔ ویں اس Python کوڈ کی لائن جو GUI اسکرین پر پروگریس بار بنانے کے لیے 'ttk' کلاس آبجیکٹ کے ذریعے Progressbar() فنکشن استعمال کر رہی ہے۔ آبجیکٹ 't' کو اس پر منتقل کیا گیا ہے جبکہ اس کا رخ افقی پر سیٹ کیا گیا ہے، اس کی لمبائی 400 پر سیٹ کی گئی ہے، اور اس کا موڈ متعین ہے، یعنی یہ صرف ایک خاص سمت میں حرکت کرے گا۔ اس پروگریس بار کے لیے 'pack()' فنکشن کے استعمال سے 'y' ایکسس پیڈنگ کو 30 پر سیٹ کیا گیا ہے۔





اس کے بعد، ہم بٹن () فنکشن کے استعمال سے ایک نیا بٹن 'b' بنا رہے ہیں اور اسے 't' آبجیکٹ، کچھ ٹیکسٹ، اور بٹن پر کلک کرنے کے بعد عمل کرنے والی کمانڈ کو پاس کر رہے ہیں، یعنی فنکشن کہا جاتا ہے۔ 'Pbar' فنکشن۔ Pbar() فنکشن پروگریس بار 'p' کی قدر کو دس سے بڑھا کر متغیر 'b' پر واپس آئے گا۔ بٹن کے لیے 'y' ایکسس پیڈنگ کو pack() فنکشن کا استعمال کرتے ہوئے '10' پر سیٹ کر دیا گیا ہے، اور مین لوپ() فنکشن پوری ایگزیکیوشن کو لوپ آؤٹ کرنے کے لیے یہاں موجود ہے۔



Python کوڈ کو مکمل کرنے کے بعد، ہم نے اسے محفوظ کیا اور اسے 'python3' استفسار کے ذریعے کنسول پر عمل میں لایا جس کے بعد ایک فائل کا نام 'new.py':

$python3 new.py

اس نے ہماری کنسول اسکرین پر 'پروگریس بار' کے عنوان سے Python کا Tkinter GUI لانچ کیا ہے۔ مندرجہ ذیل تصویر میں، صرف ایک پروگریس بار ہے جس میں کوئی پروسیسنگ نہیں ہے۔ آپ کو پہلے بٹن کو تھپتھپانے کی ضرورت ہے۔

بٹن کو تھپتھپانے کے بعد، 'یہاں ٹیپ کریں!'، نیلے رنگ کا پروگریس بار اس طرح دکھایا گیا ہے:

مسلسل تین کلکس کے بعد، ہمیں بغیر کسی حرکت کے درج ذیل پیش رفت ملی:

پروگریس بار کے اختتام تک پہنچنے کے بعد، ہم آگے نہیں بڑھ سکتے، یعنی ترقی بار کا تعین کر سکتے ہیں۔

مثال 2

آئیے ایک غیر متعین پروگریس بار بنانے پر غور کریں جو Tkinter GUI Python ماڈیول کا استعمال کرتے ہوئے ترقی کے علاقے میں پیچھے اور آگے بڑھ سکے۔ لہذا، ہم نے اس Python کوڈ کو Tkinter ماڈیول کو 'tk' اور ttk آبجیکٹ کو 'ttk' کلاس سے درآمد کرکے شروع کیا ہے۔ کنسٹرکٹر 'Tk()' نتیجہ حاصل کرنے کے لئے tk آبجیکٹ کو کاسٹ کیا گیا ہے اور متغیر 't' میں محفوظ کیا گیا ہے۔



't' متغیر کو عنوان () فنکشن کے ساتھ استعمال کیا گیا ہے تاکہ جیومیٹری () فنکشن کے ساتھ GUI کے لیے ٹائٹل شامل کیا جا سکے تاکہ ظاہر ہونے والی GUI ونڈو کے سائز کا تعین کیا جا سکے۔ GUI کو ٹیبلر فارمیٹ میں ترتیب دینے کے لیے grid() فنکشن کو 't' متغیر کے ساتھ بلایا گیا ہے۔

اس کے بعد، ہم ttk کلاس آبجیکٹ کے پروگریس بار() فنکشن کے ذریعے ایک ہی 't' متغیر، افقی واقفیت، 300 لمبائی، اور غیر متعین موڈ کے ذریعے ایک پروگریس بار بنانے کے لیے متغیر 'p' کا استعمال کر رہے ہیں۔ پروگریس بار کو 'گرڈ()' فنکشن کے ذریعے ٹیبلر طریقے سے منظم کیا گیا ہے جو 'x' اور 'y' محور کے لیے مخصوص پیڈنگ استعمال کر رہا ہے۔ ہم نے پروگریس بار کی حرکت شروع کرنے، اسے ختم کرنے اور اسے آگے پیچھے کرنے کے لیے دو بٹن، 's' اور 'e' بنائے ہیں۔







دونوں بٹنوں کے لیے گرڈ() فنکشن کا چسپاں پیرامیٹر سمت کا تعین کرتا ہے، یعنی مشرق اور مغرب۔ کمانڈز، 'اسٹارٹ' اور 'سٹاپ' دونوں بٹنوں کے لیے 9 پر سیٹ کیے گئے ہیں۔ ویں اور 11 ویں لائن مین لوپ () فنکشن کے نفاذ کے ساتھ، ہمارا پروگرام مکمل ہو گیا ہے اور اسے محفوظ کرنے کے بعد استعمال کے لیے تیار ہے۔





پھانسی بھی اسی طرح کی گئی ہے۔





$python3 new.py

GUI لانچ ہونے پر، درج ذیل اسکرین پیش کی گئی ہے۔



'شروع کرنے کے لیے تھپتھپائیں' کے بٹن کو دبانے کے بعد، پروگریس بار آگے بڑھنا شروع ہوا۔

سرے پر پہنچنے کے بعد، یہ مخالف سمت یعنی مغرب کی طرف بڑھتا ہے۔

ایک بار 'Tap to Stop' بٹن پر ٹیپ کرنے کے بعد، پروگریس بار دوبارہ ابتدائی پوزیشن پر سیٹ کر دیا گیا ہے۔

نتیجہ

اس مضمون نے Tkinter GUI میں پروگریس بار کا استعمال دکھایا ہے۔ ہم نے Python GUI کو مزید انٹرایکٹو بنانے کے لیے مختلف ویجٹس کو کال کرنے کے لیے Tkinter کلاس کی اشیاء کا استعمال کیا ہے۔ ہم نے اپنی مثالوں میں طے شدہ اور غیر متعین پیش رفت بار کے استعمال پر تبادلہ خیال کیا ہے۔ ہم امید کرتے ہیں کہ آپ ان کو نافذ کرنے سے لطف اندوز ہوں گے۔