# ApplicationWindow (Python)

Tiffany Antopolski
tiffany.antopolski@gmail.com 2012
Marta Maria Casetti
mmcasetti@gmail.com 2012
GtkWindow subclass with GtkApplication support
Rafael Fontenelle
rafaelff@gnome.org 2013, 2018

# ApplicationWindow

The simplest GtkApplication Window which can support .

# Code used to generate this example

from gi.repository import Gtk import sys

# a Gtk ApplicationWindow

class MyWindow(Gtk.ApplicationWindow): # constructor: the title is "Welcome to GNOME" and the window belongs # to the application app

def __init__(self, app): Gtk.Window.__init__(self, title="Welcome to GNOME", application=app)

class MyApplication(Gtk.Application): # constructor of the Gtk Application

def __init__(self): Gtk.Application.__init__(self)

# create and activate a MyWindow, with self (the MyApplication) as # application the window belongs to. # Note that the function in C activate() becomes do_activate() in Python def do_activate(self): win = MyWindow(self) # show the window and all its content # this line could go in the constructor of MyWindow as well win.show_all()

# start up the application # Note that the function in C startup() becomes do_startup() in Python def do_startup(self): Gtk.Application.do_startup(self)

# create and run the application, exit with the value returned by # running the program app = MyApplication() exit_status = app.run(sys.argv) sys.exit(exit_status)

# Useful methods for a Gtk.ApplicationWindow widget

`set_default_size(200, 100)` sets the default size of the window to a width of `200` and a height of `100`; if instead of a positive number we pass `-1` we have the default size.

`set_position(Gtk.WindowPosition.CENTER)` centers the window. Other options are `Gtk.WindowPosition.NONE, Gtk.WindowPosition.MOUSE, Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition.CENTER_ON_PARENT`.

# Referências da API

In this sample we used the following:

GtkApplication

GtkApplicationWindow