#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
ZetCode PyQt4 tutorial 

This program creates a quit
button. When we press the button,
the application terminates. 

author: Jan Bodnar
website: zetcode.com 
last edited: October 2011
"""

import sys
from PyQt4 import QtGui, QtCore


class Example(QtGui.QWidget): # Класс с виджетом, содержащим кнопку, нажатие которой закроет виджет.
    
    def __init__(self):
        super(Example, self).__init__() # Найти суперкласс в данном случае QtGui.QWidget и инициализировать
                                        # текущий объект так, как инициализируется суперкласс
        
        self.initUI()                   # Отличие в инициализации состоит в вызове метода initUI.
        
    def initUI(self):               
        
        qbtn = QtGui.QPushButton('Quit', self) # Создаём кнопку.
        qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit) # При нажатии кнопки
                    # будет происходить вызов фукнции QtCore.QCoreApplication.instance().quit,
                    # которая выйдет из app.exec_().
        qbtn.resize(qbtn.sizeHint()) # Задать для кнопки тот размер, который является рекомендуемым.
        qbtn.move(50, 50)            # Переместить кнопку на 50 пикселей вниз и 50 пикселей вправо
                                     # от левого вержнего края рабочей области виджета.
        
        self.setGeometry(300, 300, 250, 150) # окно смещено на 300x300 от верхнего края экрана,
                                             # размер окна 250x150.
        self.setWindowTitle('Quit button')    
        self.show()
        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()