কিভি হল একটি ওপেন সোর্স পাইথন লাইব্রেরি যা অ্যাপ্লিকেশনগুলির দ্রুত বিকাশের জন্য যা উদ্ভাবনী ব্যবহারকারী ইন্টারফেস ব্যবহার করে, যেমন মাল্টি-টাচ অ্যাপ। এটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন, সেইসাথে ডেস্কটপ অ্যাপ্লিকেশন বিকাশ করতে ব্যবহৃত হয়। এই নিবন্ধে আমরা দেখব কিভাবে ফ্লোটলেআউট উইজেট ব্যবহার করে একটি উইন্ডোতে বিভিন্ন অবস্থানে বোতাম তৈরি করতে হয়। বোতামের অবস্থান বড় উইন্ডোর সাপেক্ষে পরম বা আপেক্ষিক হতে পারে।
পরম অবস্থান সহ
এই পদ্ধতিতে আমরা একটি নির্দিষ্ট অবস্থানে বোতামের অবস্থান সেট করি। সুতরাং যখন উইন্ডোর আকার পরিবর্তন হয়, তখন উইন্ডোর আকার এবং বোতামের আকার পরিবর্তন হয় কিন্তু বোতামের অবস্থান স্থির থাকে। তাই উইন্ডোটি কীভাবে চেপে দেওয়া হয় তার উপর নির্ভর করে কখনও কখনও বোতামটি লুকিয়ে যায়৷
উদাহরণ
import kivy from kivy.app import App from kivy.uix.button import Button from kivy.uix.floatlayout import FloatLayout #from kivy.config import Config #Config.set('graphics', 'resizable', True) # creating the App class class FloatApp(App): def build(self): # creating Floatlayout Flt = FloatLayout() btn = Button(text='Hello world', size_hint=(0.5 ,0.2), pos=(100, 200), background_normal='', background_color=(1, 0, 1, 1)) # adding button widget Flt.add_widget(btn) return Flt # Run the app FloatApp().run()
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -
আপেক্ষিক অবস্থানের সাথে
এই পদ্ধতিতে আমরা অবস্থান ইঙ্গিত সহ বোতামের অবস্থান সেট করি। সুতরাং যখন উইন্ডোর আকার পরিবর্তন হয়, তখন উইন্ডোর আকার এবং বোতামের আকার পরিবর্তন হয় এবং বোতামের অবস্থানও উইন্ডোর আপেক্ষিক আকারের সাথে পরিবর্তিত হতে থাকে। তাই উইন্ডো চেপে গেলে বোতামটি কখনই লুকানো হয় না।
উদাহরণ
from kivy.app import App from kivy.uix.button import Button from kivy.uix.floatlayout import FloatLayout from kivy.config import Config Config.set('graphics', 'resizable', True) # creating the App class class FloatApp(App): def build(self): # creating Floatlayout Flt = FloatLayout() btn = Button(text='Hello world', size_hint=(0.2 ,0.2), pos_hint={'x':.2, 'y':.2 }, background_normal='', background_color=(1, 1, 0, 0.8) ) # adding button widget Flt.add_widget(btn) return Flt # Run the app FloatApp().run()
আউটপুট
উপরের কোডটি চালানো আমাদের নিম্নলিখিত ফলাফল দেয় -