• পাইথন গ্রাফিক্যাল ইউজার ইন্টারফেস প্রোগ্রামিং (Tkinter) (Python GUI Programming (Tkinter))

    Python GUI Programming (Tkinter)

    গ্রাফিকাল ইউসার ইন্টারফেস (GUIs) ডেভেলাপ করার জন্য Python বেশ কিছু অপশন দিয়ে থাকে। এদের মধ্যে সবচেয়ে গুরুত্বপূর্ন হল Tkinter (Python এর সাথে সরবরাহকৃত GUI toolkit এর ইন্টারফেস), wxPython (ওপেন-সোর্স Python ইনটারফেস, http://wxpython.org এ পাওয়া যাবে), এবং JPython (Java’র জন্য প্রচলিত Python পোর্ট, http://www.jython.org এ পাওয়া যাবে)। এছাড়াও আরও অনেক ইন্টারফেস আছে, যেগুলো ইন্টারনেটে পাওয়া যাবে।
     GUI (Graphical User Interface)

    Tkinter Programming

    Tkinter হচ্ছে Python এর জন্য আদর্শ GUI লাইব্রেরী, এর সাথে Python কে সংযুক্ত করলে দ্রুত ও সহজেই GUI অ্যাপ্লিকেশন তৈরি করা যায়। Tkinter এর জন্য Tk GUI toolkit একটি শক্তিশালী object-oriented ইন্টারফেস দেয়।
    Tkinter দিয়ে GUI application তৈরি করার স্টেপ গুলো হচ্ছেঃ
    • Tkinter মোডিউল ইম্পোর্ট করতে হবে।
    • মেইন উইন্ডো তে GUI অ্যাপ্লিকেশন ক্রিয়েট করতে হবে।
    • উপরের এক বা একাধিক widgets GUI অ্যাপ্লিকেশনে যোগ করতে হবে।
    • ইউসার এর ট্রিগার করা প্রতিটি ইভেন্ট অনুযায়ী কাজ করার জন্য মেইন ইভেন্ট লুপে এন্টার করুন ।

    উদাহরণঃ

    #!/usr/bin/python
    
    import Tkinter
    top = Tkinter.Tk()
    # Code to add widgets will go here...
    top.mainloop()


    এর ফলে নিচের উইন্ডোটি তৈরি হবে।

    Tkinter Widgets

    Tkinter, GUI application এ ব্যবহৃত বিভিন্ন ধরনের কন্ট্রোল দিয়ে থাকে, যেমন বাটন, লেবেল, টেক্সট বক্স ইত্যাদি। এই কন্ট্রোল গুলোকে Widgets বলে। বর্তমানে Tkinter এ মোট ১৫ ধরনের widgets আছে। নিচে এদের বর্ননা দেয়া হল।

    অপারেটরবর্ণনা
    Buttonআপনার অ্যাপ্লিকেশন এ বাটন প্রদর্শনের জন্য ব্যবহৃত হয়।
    Canvasআপনার অ্যাপ্লিকেশন এ বিভিন্ন আকৃতি অঙ্কনের জন্য ব্যবহৃত হয়। যেমন - লাইন, ovals, বহুভুজ এবং আয়তক্ষেত্র ইত্যাদি।
    Checkbuttoncheckboxe হিসেবে অপশন প্রদর্শনের জন্য ব্যবহৃত হয়। ইউজার একইসাথে একাধিক অপশন নির্বাচন করতে পারে।
    Entryব্যবহারকারীর কাছ থেকে মান গ্রহণ করার ক্ষেত্রে সকল উইজেট এর জন্য এক লাইনের টেক্সট ফিল্ড প্রদর্শনর জন্য ব্যবহৃত হয়।
    Frameএকটি ধারক উইজেট হিসেবে অন্যান্য উইজেট সজ্জিত করার জন্য ব্যবহৃত হয়।
    Labelঅন্যান্য উইজেট এর জন্য এক লাইনের ক্যাপশন দেয়ার জন্য ব্যবহৃত হয়। এটি ইমেজও ধারণ করতে পারে।
    Listboxব্যবহারকারীদের জন্য একটি তালিকা দেখানোর জন্য ব্যবহৃত হয়।
    Menubuttonআপনার অ্যাপ্লিকেশন এ মেনু প্রদর্শনের জন্য ব্যবহৃত হয়।
    MenuThe Menu widget is used to provide various commands to a user. These commands are contained inside Menubutton.
    Messageব্যবহারকারীর কাছ থেকে মান গ্রহণ করার জন্য একাধিক লাইনের টেক্সট ফিল্ড প্রদর্শনে ব্যবহৃত হয়।
    Radiobuttonরেডিও বাটন হিসেবে অপশন প্রদর্শনের জন্য ব্যবহৃত হয়। ইউজার একটিমাত্র অপশন নির্বাচন করতে পারে।
    Scaleস্লাইডার উইজেট প্রদানের জন্য ব্যবহৃত হয়।
    Scrollbarস্ক্রলবার উইজেট যেমন তালিকা বাক্স এ বিভিন্ন উইজেট এর স্ক্রলিং সামর্থ্য যোগ করার জন্য ব্যবহার করা হয়
    Textটেক্সট উইজেটের একাধিক লাইনে লেখা দেখাতে ব্যবহার করা হয়
    Toplevelএকটি পৃথক উইন্ডো ধারক প্রদান করতে ব্যবহৃত হয়
    SpinboxSpinbox widget অন্যান্য সাধারণ ফাঁকা উইজেট থেকে ভিন্নতর। এটি নির্দিষ্ট সংখ্যক মান হতে  একটি নির্বাচন করতে ব্যবহৃত হয়।
    PanedWindowএটি একটি ধারক উইজেট যা অনুভূমিকভাবে বা উল্লম্বভাবে সাজিয়ে যেকোন সংখ্যক ফলক (panes) ধারণ করতে পারে।
    LabelFramelabelframe একটি সহজ ধারক উইজেট। এর প্রাথমিক উদ্দেশ্য হল জটিল উইন্ডো বিন্যাস এর জন্য একটি spacer বা ধারক হিসেবে কাজ করা।
    tkMessageBoxএই মডিউলের সাহায্যে আপনি আপনার অ্যাপ্লিকেশনে মেসেজ বাক্সে প্রদর্শন করতে ব্যবহৃত হয়।

    স্ট্যান্ডার্ড এট্রিবিউট

    নিচে কিছু সাইজ, কালার, ফন্ট সহ কিছু স্ট্যান্ডার্ড এট্রিবিউট এর স্পেসিফিকেশন দেয়া হলঃ

    Geometry Management

    সব Tkinter widgets ই বিশেষ কিছু geometry management মেথড অনুসরণ করতে পারে, যেগুলো parent widget area এর সাহায্যে widgets সাজাতে পারে। Tkinter নিচের geometry manager মেথডগুলো তৈরি করে।
    • Pack()Method - widgets গুলোকে parent widget এ রাখার আগে ব্লক আকারে সাজিয়ে নেয়।
    • Grid()Method – widgets গুলোকে টেবিল আকারে সাজায়।
    • Place()Method – widgets গুলোকে parent widget এর একটি নির্দিষ্ট স্থানে রাখে।
  • 0 comments:

    Post a Comment

    New Research

    Attention Mechanism Based Multi Feature Fusion Forest for Hyperspectral Image Classification.

    CBS-GAN: A Band Selection Based Generative Adversarial Net for Hyperspectral Sample Generation.

    Multi-feature Fusion based Deep Forest for Hyperspectral Image Classification.

    ADDRESS

    388 Lumo Rd, Hongshan, Wuhan, Hubei, China

    EMAIL

    contact-m.zamanb@yahoo.com
    mostofa.zaman@cug.edu.cn

    TELEPHONE

    #
    #

    MOBILE

    +8615527370302,
    +8807171546477