পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Thursday, March 30, 2017

PyGTK - Signal Handling

Unlike a console mode application, which is executed in a sequential manner, a GUI-based application is event driven. The gtk.main() function starts an infinite loop. Events occurring on the GUI are transferred to appropriate callback functions.

Each PyGTK widget, which is derived from the GObject class, is designed to emit ‘signal’ in response to one or more events. The signal on its own does not perform any action. Instead, it is ‘connected’ to a callback function.
Some signals are inherited by the widget, whereas some signals are widget specific. For example, "toggled" signal is emitted by the toggleButton widget.
A signal handler is set up by invoking the connect() method of the gtk.widget class.
handler_id = object.connect(name, func, func_data)
  • The first argument, name, is a string containing the name of the signal you wish to catch.
  • The second argument, func, is the call back function you wish to be called when it is caught.
  • The third argument, func_data, the data you wish to pass to this function.
  • The handler id, which is used to uniquely identify the callback method.
For example, to invoke onClicked() function when a button is clicked, use the following syntax −
btn.connect("clicked",onClicked,None)
The onClicked() function is defined as −
def onClicked(widget, data=None):
If the callback method is an object method, it receives self as an additional argument −
def onClicked(self, widget, data=None):

Example

In the following example, a Button is added to gtk.Window. “Hello World” message is printed when the button is clicked.
import gtk
class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Hello World in PyGTK")
      self.set_default_size(400,300)
      self.set_position(gtk.WIN_POS_CENTER)
  
      self.label = gtk.Label("Enter name")
      self.entry = gtk.Entry()
  
      self.btn = gtk.Button("Say Hello")
      self.btn.connect("clicked",self.hello)
  
      fixed = gtk.Fixed()
      fixed.put(self.label, 100,100)
      fixed.put(self.entry, 100,125)
      fixed.put(self.btn,100,150)
  
      self.add(fixed)
      self.show_all()
  
   def hello(self,widget):
      print "hello",self.entry.get_text()
PyApp()
gtk.main()
Run the above code from Python prompt. The following output will be displayed −
Signal Handling When the button is pressed, the following output is displayed on the console −
Hello TutorialsPoint

No comments:

Post a Comment