GTK + is developed in C language, but its designers use object-oriented technology. C ++ (gtkmm), Perl, Ruby, Java, and Python (PyGTK) bindings are also provided. Other bindings include Ada, D, Haskell, PHP, and all. NET programming language, GTK + is also flexible, first used in X Window System, has now been transplanted to other platforms, such as Microsoft Windows, DirectFB, and Quartz in Mac OS X. PyGTK is truly cross-platform. It can run on various operating systems without modification, such as Linux, Windows, and MacOS. in addition to ease-of-use and fast prototype development capabilities, PyGTK also has unique features for processing localization languages. PyGTK is a free software, so you can use, modify, distribute, and study it with almost no restrictions. It is released based on the LGPL protocol, which is very friendly to commercial applications.
The following is its helloworld
[Python]
Import gtk
Window = gtk. Window ()
Window. set_title ("Hello World ")
Window. show_all ()
Gtk. main ()
Import gtk
Window = gtk. Window ()
Window. set_title ("Hello World ")
Window. show_all ()
Gtk. main ()
Let's look at a standard window.
[Python]
#! /Usr/bin/env python
Import pygtk
Pygtk. require ('2. 0 ')
Import gtk
Class Base:
Def _ init _ (self ):
Self. window = gtk. Window (gtk. WINDOW_TOPLEVEL)
Self. window. show ()
Def main (self ):
Gtk. main ()
Print _ name __
If _ name _ = "_ main __":
Base = Base ()
Base. main ()
#! /Usr/bin/env python
Import pygtk
Pygtk. require ('2. 0 ')
Import gtk
Class Base:
Def _ init _ (self ):
Self. window = gtk. Window (gtk. WINDOW_TOPLEVEL)
Self. window. show ()
Def main (self ):
Gtk. main ()
Print _ name __
If _ name _ = "_ main __":
Base = Base ()
Base. main () the first line #! /Usr/bin/env python specifies that the program is parsed and run by python.
Row 5-6:
Import pygtk
Pygtk. require ('2. 0 ')
Import gtk
Differentiate different versions of pygtk installed in the system. These lines define the main version of version 2 of pygtk to be used to prevent earlier versions installed in the system from being used, and start the initialization process of GTK +, including gtk_init ()
Row 9-15
Class Base:
Def _ init _ (self ):
Self. window = gtk. Window (gtk. WINDOW_TOPLEVEL)
Self. window. show ()
Def main (self ):
Gtk. main ()
In def _ init _ (self), the _ init _ () function creates a top-level window and directs GTK + to display it: self. window. show ()
Self. window = gtk. window (gtk. WINDOW_TOPLEVEL), using gtk. the WINDOW_TOPLEVEL parameter defines the decoration style and position of the Form in window management. The default value is 200*200 for a window without a subwindow.
Lines 14-15:
Def main (self ):
Gtk. main ()
Line 14-15 defines main () and calls the main () function of PYGTK, including the control of mouse and keyboard events and window events during the gtk + main event loop Process
Line 18-20:
If _ name _ = "_ main __":
Base = Base ()
Base. main ()
Make sure that the program runs directly by PYTHON, instead of importing the program to the python interpreter, the new Base class instance is created and the parameter is stored in the base variable, it will include the main () method to start the gtk + event processing loop.
These lines enable the program to start automatically. If the program is directly called or run as the parameter f of the python interpreter, the program name included in the python Variable _ name _ Will Be _ main __, and 18-20 lines of code will be executed. If the program uses the import Statement and is loaded to a running python virtual machine, 18-20 rows are not executed.
Row 19th creates a Base class instance called base. As the execution result, a gtk. window is created and displayed,
Line 3 calls the main () method of the Base class and starts a GTK + event processing cycle. When the controller detects an event, GTK + waits for the occurrence of the x event. In the above Code, event ignored