Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- from PyQt4 import QtGui
- from PyQt4 import QtCore
- class Converter(QtGui.QWidget):
- def __init__(self, parent=None):
- QtGui.QWidget.__init__(self, parent)
- self.setWindowTitle('Unit_Converter')
- self.setWindowIcon(QtGui.QIcon(r'C:\Program Files (x86)\RocketDock\Icons\WP7 icons\WP7 icons\Tasks.png'))
- Number = QtGui.QLabel('Number: ')
- Number.setFont(QtGui.QFont('', 11))
- Unit = QtGui.QLabel('Unit: ')
- Unit.setFont(QtGui.QFont('', 11))
- Convert_Unit = QtGui.QLabel('Convert Unit: ')
- Convert_Unit.setFont(QtGui.QFont('', 11))
- self.NumberEdit = QtGui.QLineEdit()
- self.NumberEdit.setFont(QtGui.QFont('', 11))
- self.UnitEdit1 = QtGui.QCheckBox('mm', self)
- self.UnitEdit1.setFocusPolicy(QtCore.Qt.NoFocus)
- self.UnitEdit1.setFont(QtGui.QFont('', 11))
- self.UnitEdit2 = QtGui.QCheckBox('sm', self)
- self.UnitEdit2.setFocusPolicy(QtCore.Qt.NoFocus)
- self.UnitEdit2.setFont(QtGui.QFont('', 11))
- self.UnitEdit3 = QtGui.QCheckBox('m', self)
- self.UnitEdit3.setFocusPolicy(QtCore.Qt.NoFocus)
- self.UnitEdit3.setFont(QtGui.QFont('', 11))
- self.Convert_Unit_Edit1 = QtGui.QCheckBox('mm', self)
- self.Convert_Unit_Edit1.setFocusPolicy(QtCore.Qt.NoFocus)
- self.Convert_Unit_Edit1.setFont(QtGui.QFont('', 11))
- self.Convert_Unit_Edit2 = QtGui.QCheckBox('sm', self)
- self.Convert_Unit_Edit2.setFocusPolicy(QtCore.Qt.NoFocus)
- self.Convert_Unit_Edit2.setFont(QtGui.QFont('', 11))
- self.Convert_Unit_Edit3 = QtGui.QCheckBox('m', self)
- self.Convert_Unit_Edit3.setFocusPolicy(QtCore.Qt.NoFocus)
- self.Convert_Unit_Edit3.setFont(QtGui.QFont('', 11))
- self.Label = QtGui.QLabel('Convertation Result: ')
- self.Label.setFont(QtGui.QFont('', 11))
- self.LabelR = QtGui.QLabel()
- self.LabelR.setFont(QtGui.QFont('Consolas', 16))
- Run = QtGui.QPushButton('Run', self)
- Run.setFont(QtGui.QFont('Consolas', 14))
- grid = QtGui.QGridLayout()
- grid.setSpacing(10)
- grid.addWidget(Number, 1, 0)
- grid.addWidget(self.NumberEdit, 1, 1, 1, 2)
- grid.addWidget(Unit, 2, 0)
- grid.addWidget(self.UnitEdit1, 2, 1)
- grid.addWidget(self.UnitEdit2, 2, 2)
- grid.addWidget(self.UnitEdit3, 2, 3)
- grid.addWidget(Convert_Unit, 3, 0)
- grid.addWidget(self.Convert_Unit_Edit1, 3, 1)
- grid.addWidget(self.Convert_Unit_Edit2, 3, 2)
- grid.addWidget(self.Convert_Unit_Edit3, 3, 3)
- grid.addWidget(self.Label, 4, 0)
- grid.addWidget(self.LabelR, 4, 1)
- grid.addWidget(Run, 6, 3)
- self.setLayout(grid)
- self.resize(300, 150)
- self.connect(Run, QtCore.SIGNAL('clicked()'), self.showResult)
- def showResult(self):
- result = self.NumberEdit.text()
- if self.UnitEdit1.isChecked:
- if self.Convert_Unit_Edit1.isChecked():
- result = float(self.NumberEdit.text())
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
- elif self.Convert_Unit_Edit2.isChecked():
- result = float(self.NumberEdit.text()) / 10
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
- elif self.Convert_Unit_Edit3.isChecked():
- result = float(self.NumberEdit.text()) / 1000
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
- if self.UnitEdit2.isChecked():
- if self.Convert_Unit_Edit1.isChecked():
- result = float(self.NumberEdit.text()) * 10
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
- elif self.Convert_Unit_Edit2.isChecked():
- result = float(self.NumberEdit.text())
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
- elif self.Convert_Unit_Edit3.isChecked():
- result = float(self.NumberEdit.text()) / 100
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
- if self.UnitEdit3.isChecked():
- if self.Convert_Unit_Edit1.isChecked():
- result = float(self.NumberEdit.text()) * 1000
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit1.text()))
- elif self.Convert_Unit_Edit2.isChecked():
- result = float(self.NumberEdit.text()) * 100
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit2.text()))
- elif self.Convert_Unit_Edit3.isChecked():
- result = float(self.NumberEdit.text())
- self.LabelR.setText(str(result)+' '+str(self.Convert_Unit_Edit3.text()))
- def closeEvent(self, event):
- reply = QtGui.QMessageBox.question(self, 'Message', 'Are you sure to quit', QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
- if reply == QtGui.QMessageBox.Yes:
- event.accept()
- else:
- event.ignore()
- app = QtGui.QApplication(sys.argv)
- form = Converter()
- form.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment