#!/usr/bin/python3# -*- coding: utf-8 -*-"""
Py40 PyQt5 tutorial
In this example, we create a skeleton
of a calculator using a QGridLayout.
author: Jan Bodnar
website: py40.com
last edited: January 2015
"""import sys
from PyQt5.QtWidgets import(QWidget, QGridLayout,
QPushButton, QApplication)classExample(QWidget):def__init__(self):super().__init__()
self.initUI()definitUI(self):
grid = QGridLayout()
self.setLayout(grid)
names =['Cls','Bck','','Close','7','8','9','/','4','5','6','*','1','2','3','-','0','.','=','+']
positions =[(i,j)for i inrange(5)for j inrange(4)]for position, name inzip(positions, names):if name =='':continue
button = QPushButton(name)
grid.addWidget(button,*position)
self.move(300,150)
self.setWindowTitle('Calculator')
self.show()if __name__ =='__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())