Guest User

Converter

a guest
Nov 22nd, 2012
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.42 KB | None | 0 0
  1. import sys
  2. from PyQt4 import QtGui
  3. from PyQt4 import QtCore
  4.  
  5. class Converter(QtGui.QWidget):
  6.    
  7.     def __init__(self, parent=None):
  8.         QtGui.QWidget.__init__(self, parent)
  9.        
  10.         self.setWindowTitle('Unit_Converter')
  11.         self.setWindowIcon(QtGui.QIcon(r'C:\Program Files (x86)\RocketDock\Icons\WP7 icons\WP7 icons\Tasks.png'))
  12.        
  13.         Number = QtGui.QLabel('Number: ')
  14.         Number.setFont(QtGui.QFont('', 11))
  15.        
  16.         Unit = QtGui.QLabel('Unit: ')
  17.         Unit.setFont(QtGui.QFont('', 11))
  18.        
  19.         Convert_Unit = QtGui.QLabel('Convert Unit: ')
  20.         Convert_Unit.setFont(QtGui.QFont('', 11))
  21.        
  22.         self.NumberEdit = QtGui.QLineEdit()
  23.         self.NumberEdit.setFont(QtGui.QFont('', 11))
  24.        
  25.         self.UnitEdit1 = QtGui.QCheckBox('mm', self)
  26.         self.UnitEdit1.setFocusPolicy(QtCore.Qt.NoFocus)
  27.         self.UnitEdit1.setFont(QtGui.QFont('', 11))
  28.        
  29.         self.UnitEdit2 = QtGui.QCheckBox('sm', self)
  30.         self.UnitEdit2.setFocusPolicy(QtCore.Qt.NoFocus)
  31.         self.UnitEdit2.setFont(QtGui.QFont('', 11))
  32.        
  33.         self.UnitEdit3 = QtGui.QCheckBox('m', self)
  34.         self.UnitEdit3.setFocusPolicy(QtCore.Qt.NoFocus)
  35.         self.UnitEdit3.setFont(QtGui.QFont('', 11))
  36.        
  37.         self.Convert_Unit_Edit1 = QtGui.QCheckBox('mm', self)
  38.         self.Convert_Unit_Edit1.setFocusPolicy(QtCore.Qt.NoFocus)
  39.         self.Convert_Unit_Edit1.setFont(QtGui.QFont('', 11))        
  40.        
  41.         self.Convert_Unit_Edit2 = QtGui.QCheckBox('sm', self)
  42.         self.Convert_Unit_Edit2.setFocusPolicy(QtCore.Qt.NoFocus)
  43.         self.Convert_Unit_Edit2.setFont(QtGui.QFont('', 11))        
  44.        
  45.         self.Convert_Unit_Edit3 = QtGui.QCheckBox('m', self)
  46.         self.Convert_Unit_Edit3.setFocusPolicy(QtCore.Qt.NoFocus)
  47.         self.Convert_Unit_Edit3.setFont(QtGui.QFont('', 11))        
  48.        
  49.         self.Label = QtGui.QLabel('Convertation Result: ')
  50.         self.Label.setFont(QtGui.QFont('', 11))
  51.        
  52.         self.LabelR = QtGui.QLabel()
  53.         self.LabelR.setFont(QtGui.QFont('Consolas', 16))
  54.  
  55.         Run = QtGui.QPushButton('Run', self)
  56.         Run.setFont(QtGui.QFont('Consolas', 14))
  57.        
  58.         grid = QtGui.QGridLayout()
  59.         grid.setSpacing(10)
  60.        
  61.         grid.addWidget(Number, 1, 0)
  62.         grid.addWidget(self.NumberEdit, 1, 1, 1, 2)
  63.        
  64.         grid.addWidget(Unit, 2, 0)
  65.         grid.addWidget(self.UnitEdit1, 2, 1)
  66.         grid.addWidget(self.UnitEdit2, 2, 2)
  67.         grid.addWidget(self.UnitEdit3, 2, 3)
  68.        
  69.         grid.addWidget(Convert_Unit, 3, 0)
  70.         grid.addWidget(self.Convert_Unit_Edit1, 3, 1)
  71.         grid.addWidget(self.Convert_Unit_Edit2, 3, 2)
  72.         grid.addWidget(self.Convert_Unit_Edit3, 3, 3)
  73.        
  74.         grid.addWidget(self.Label, 4, 0)
  75.         grid.addWidget(self.LabelR, 4, 1)
  76.        
  77.         grid.addWidget(Run, 6, 3)
  78.        
  79.         self.setLayout(grid)
  80.         self.resize(300, 150)
  81.        
  82.         self.connect(Run, QtCore.SIGNAL('clicked()'), self.showResult)
  83.        
  84.     def showResult(self):
  85.         result = self.NumberEdit.text()
  86.         if self.UnitEdit1.isChecked:
  87.             if self.Convert_Unit_Edit1.isChecked():
  88.                 result = float(self.NumberEdit.text())
  89.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
  90.             elif self.Convert_Unit_Edit2.isChecked():
  91.                 result = float(self.NumberEdit.text()) / 10
  92.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
  93.             elif self.Convert_Unit_Edit3.isChecked():
  94.                 result = float(self.NumberEdit.text()) / 1000
  95.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
  96.         if self.UnitEdit2.isChecked():
  97.             if self.Convert_Unit_Edit1.isChecked():
  98.                 result = float(self.NumberEdit.text()) * 10
  99.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
  100.             elif self.Convert_Unit_Edit2.isChecked():
  101.                 result = float(self.NumberEdit.text())
  102.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
  103.             elif self.Convert_Unit_Edit3.isChecked():
  104.                 result = float(self.NumberEdit.text()) / 100
  105.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
  106.         if self.UnitEdit3.isChecked():
  107.             if self.Convert_Unit_Edit1.isChecked():
  108.                 result = float(self.NumberEdit.text()) * 1000
  109.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
  110.             elif self.Convert_Unit_Edit2.isChecked():
  111.                 result = float(self.NumberEdit.text()) * 100
  112.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
  113.             elif self.Convert_Unit_Edit3.isChecked():
  114.                 result = float(self.NumberEdit.text())
  115.                 self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
  116.    
  117.     def closeEvent(self, event):
  118.         reply = QtGui.QMessageBox.question(self, 'Message', 'Are you sure to quit', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
  119.        
  120.         if reply == QtGui.QMessageBox.Yes:
  121.             event.accept()
  122.         else:
  123.             event.ignore()    
  124.  
  125. app = QtGui.QApplication(sys.argv)
  126. form = Converter()
  127. form.show()
  128. sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment