আজ আমরা দেখব কীভাবে পাইকিউটি তে কোন উইন্ডোর লেআউট ঠিক করতে হয়। মূলত লেআউটটা জরুরী এই জন্য যে , আপনি যখন বিভিন্ন প্লাটফর্মে এপ্লিকেশনটা ইউজ করবেন , তখন এটা কাজে লাগে । বা আপনি যখন মেইন উইন্ডো এর সাইজ পরিবর্তন করবেন তখন যাতে উইগেট গুলোর পজিশন চেঞ্জ হয়ে না যায় সেজন্যও এটা কাজে লাগে । তো দেখুন , কীভাবে পাইকউটিতে লেআউট ঠিক করতে হয় । প্রথমে সবাই নিচের কোডটা লিখে ফেলুন :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | import sys from PyQt4 import QtGui class Absolute(QtGui.QWidget): def __init__( self , parent = None ): QtGui.QWidget.__init__( self , parent) self .setWindowTitle( 'Layout' ) label = QtGui.QLabel( 'Pythonbangla' , self ) label.move( 15 , 10 ) label = QtGui.QLabel( 'is' , self ) label.move( 35 , 40 ) label = QtGui.QLabel( 'one of the' , self ) label.move( 55 , 65 ) label = QtGui.QLabel( 'leading python programmers society' , self ) label.move( 115 , 65 ) label = QtGui.QLabel( 'in Bangladesh' , self ) label.move( 135 , 45 ) self .resize( 250 , 150 ) app = QtGui.QApplication(sys.argv) qb = Absolute() qb.show() sys.exit(app.exec_()) |
দেখুন , এখানে আমরা উইন্ডোর টাইটেল টা সেট করে দিয়েছি ।
self.setWindowTitle('Layout')
লেবেল নামের একটা ভ্যারিয়েবল নিয়ে তার মধ্যে যে লেখাটা সো করতে হবে সেটা লিখেছি ।
label = QtGui.QLabel('Pythonbangla', self)
এখানে লেখার পজিশনটা ঠিক করে দিয়েছি ।
label.move(15, 10)
একইভাবে আমরা অনেক গুলো লেভেল নিয়ে তার পজিশন ঠিক করে দিয়েছি । তারপর আমাদের উইন্ডোটা এমন হয়েছে ।
এবার আমরা উইন্ডো মধ্যে কোন বক্সে লেআউট কীভাবে ঠিক করতে হয় সেটা দেখব । মূলত পাইথনে QHBoxLayout ও QVBoxLayout
নামের দুটি ক্লাস আছে । সেটার মাধ্যমে আমরা এই লেআউটটা ঠিকক কররব । সবাই নীচের কোডটা লিখে ফেলুন :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import sys from PyQt4 import QtGui class BoxLayout(QtGui.QWidget): def __init__( self , parent = None ): QtGui.QWidget.__init__( self , parent) self .setWindowTitle( 'box layout' ) #দুটি বাটন ক্রিয়েট করলাম ok = QtGui.QPushButton( "OK" ) cancel = QtGui.QPushButton( "Cancel" ) hbox = QtGui.QVBoxLayout() #বক্সের জন্য জায়গা তৈরী করা hbox.addStretch( 1 ) #উপরের তৈরী ওকে ও ক্যানসেল বাটনটাকে এর মধ্যে পুশ করলাম । hbox.addWidget(ok) hbox.addWidget(cancel) #ভিবক্স নামের ভ্যারিয়েবলটাকে তৈরী করলাম vbox = QtGui.QVBoxLayout() vbox.addStretch( 1 ) #ভিবক্সের লেরআউট এর মধ্যে এইচ বক্সকে পুশ করলাম । অর্থাৎ উপরের বাটন ২ টি কে ভার্টিক্যালি সেট করলাম । vbox.addLayout(hbox) self .setLayout(vbox) self .resize( 300 , 150 ) app = QtGui.QApplication(sys.argv) qb = BoxLayout() qb.show() sys.exit(app.exec_()) |
আপনাদের কাছে উপরের কোড গুলো একটু গোলমেলে লাগতে পারে এ জন্য একটা কাজ করুন । আপনারা
vbox = QtGui.QVBoxLayout()
hbox = QtGui.QHBoxLayout()
এই দুটি কোড একটু উলটে পাল্টে দেখুন । মানে QVBoxLayout স্থানে QHBoxLayout , ও QHBoxLayout() স্থানে QVBoxLayout() দিয়ে ট্রাই করে দেখুন মূলত কী পরিবর্তন আসে । বা এইচ বক্স ভ্যারিয়েবলটাকে ভি বক্সের স্থানে ইউজ করে ও ভি বক্স কে এইচ বক্সের স্থান ইউজ করে দেখুন । তাহলে আশা করি আপনাদের আইডিয়াটা ক্লিয়ার হবে ।
আমরা মূলত এই দুটি ক্লাস ইউজ করেঠি বাটনকে হরিজন্টালি ও ভার্টিক্যালি সেট করার জন্য । সেটা আপনারা উপরের কাজ টা করলেই বুঝতে পারবেন ।
আপনারা পজিশন চেঞ্জ করে করে দেখতে পারেন । এভাবে বিভিন্ন পজিশন দিয়ে প্রাকটিস করতে থাকুন । পাইথনের বিভিন্ন সমস্যার সমাধান ও লাইভ আপডেট পেতে যুক্ত থাকুন আমাদের পাইথন বাংলা গ্রুপে ।
আমি অরিন্দম পাল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 10 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 81 টি টিউন ও 316 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 20 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
মানসিক ভাবে দূর্বল । কোন কাজই কনফিডেন্টলি করতে পারি না , তবুও দেখি কাজ শেষ পর্যন্ত হয়ে যায় । নিজের সম্পর্কে এক এক সময় ধারণা এক এক রকম হয় । আমার কোন বেল ব্রেক নেই । সকালে যে কাজ করব ঠিক করি , বিকালে তা করতে পারি না । নিজের...
মামা আমি খুবই ব্যথিত দুঃখিত গত পোস্ট টা মানে ২৫ নাম্বার পোস্ট তা আমি পারিনি। অনেক বার ট্রাই করেও বার্থ হয়েছি………………………। কি করব বুঝতে পারছি না