آموزش کلاس ToggleButton در PyGTK

3 سال پیش

 آموزش کلاس ToggleButton در PyGTK

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس ToggleButton در PyGTK خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

ویجت ToggleButton یک gtk است. دکمه ای با دو حالت – حالت فشرده یا فعال (یا روشن) و حالت عادی یا غیر فعال (یا خاموش). هر بار که دکمه فشار داده می شود ، حالت متناوب می شود. حالت ToggleButton را نیز می توان از نظر برنامه ای با روش ()set_active  تغییر داد. برای تغییر وضعیت دکمه ، روش ()toggled نیز در دسترس است.

کلاس gtk.ToggleButton دارای سازنده زیر است –

gtk.ToggleButton(label = None, use_underline = True)

 

در اینجا، لیبل آزمایشی است که باید روی دکمه نمایش داده شود. ویژگی use_underline ، اگر True باشد ، یک خط زیر در متن نشان می دهد که کاراکتر بعدی باید زیر خط بکشد و برای شتاب دهنده mnemonic استفاده شود.

برخی از روشهای مهم کلاس gtk.ToggleButton در جدول زیر آمده است –

()set_active این ویژگی فعال را روی مقدار True (فعال یا فشرده یا روشن) یا نادرست (غیر فعال ، عادی یا خاموش) قرار می دهد.
()get_active  این حالت دکمه را بازیابی می کند
()toggled این سیگنال “toggled” را روی دکمه toggleb منتشر می کند.

ویجت ToggleButton سیگنال زیر را منتشر می کند –

Toggled این حالت زمانی منتشر می شود که حالت togglebutton یا به صورت برنامه نویسی یا توسط کاربر تغییر می کند.

کد زیر نشان می دهد که از ویجت های ToggleButton استفاده می کنید.

دو ویجت ToggleButtons و Label در یک ظرف VBox قرار داده شده است. سیگنال متغیر ساطع شده توسط Button1 به یک تابع بازگشت به تماس ()on_toggled متصل است. در این تابع ، اگر Button1 False باشد و برعکس ، حالت Button2 روی True تنظیم می شود.

if self.btn1.get_active() == True:
   self.btn2.set_active(False)
else:
   self.btn2.set_active(True)

 

این حالت لحظه ای دکمه ها را روی لیبل نمایش می دهد.

 

مثال

import gtk

 PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Toggle Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      
      vbox = gtk.VBox()
      self.btn1 = gtk.ToggleButton("Button 1")
      self.btn1.connect("toggled", self.on_toggled)
      self.btn2 = gtk.ToggleButton("Button 2")
      self.lbl = gtk.Label()
      
      vbox.add(self.btn1)
      vbox.add(self.btn2)
      vbox.add(self.lbl)
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
   
   def on_toggled(self, widget, data = None):
      if self.btn1.get_active() == True:
         self.btn2.set_active(False)
      else:
         self.btn2.set_active(True)
         state = "Button1 : "+str(self.btn1.get_active())+" 
         Button2 : "+str(self.btn2.get_active())
         self.lbl.set_text(state)
if __name__ == '__main__':
   PyApp()
   gtk.main()

 

کد بالا خروجی زیر را تولید می کند –

Toggle Button

 

منبع.

 

لیست جلسات قبل آموزش PyGTK

  1. آموزش PyGTK
  2. معرفی PyGTK
  3. آموزش محیط  PyGTK
  4. آموزش Hello World در  PyGTK
  5. آموزش کلاس های مهم در  PyGTK
  6. آموزش کلاس پنجره در PyGTK
  7. آموزش کلاس دکمه در PyGTK
  8. آموزش کلاس لیبل در PyGTK
  9. آموزش کلاس ورود در PyGTK
  10. آموزش مدیریت سیگنال در PyGTK
  11. آموزش مدیریت رویداد در PyGTK
  12. آموزش کانتینر در PyGTK
  13. آموزش کلاس جعبه در PyGTK
  14. آموزش کلاس ButtonBox در PyGTK
  15. آموزش کلاس تراز در PyGTK
  16. آموزش کلاس EventBox در PyGTK
  17. آموزش کلاس Layout در PyGTK
  18. آموزش کلاس ComboBox در PyGTK
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه