ich möchte Eingaben, die durch QLineEdit eingegeben werden abfangen
und zum rechnen aufarbeiten.
z.B. sollen Buchstaben entfernt und Kommatas durch Punkte ersetzt werden.
Habe leider keinen Plan wie ich das anstellen kann.
Anbei mein Beispiel
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: cp1252 -*-
import sys
from PyQt4 import QtGui
from PyQt4 import QtCore
class Hauptfenster(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self)
#self.setGeometry(300, 150, 640, 700)
self.setWindowTitle(u'abfangen und auswerten von Eingaben')
self.initial()
def ggf_breite_anzeigen(self):
print self.bst_art.currentText()
negativliste = ('R-188 A','HEB-180','Q-257')
if self.bst_art.currentText() in negativliste :
self.breite.setEnabled(False)
else:
self.breite.setEnabled(True)
def eingabe_richten(self,value):
""" Abfragen ob nur Zeichnen zum rechnen ??
ggf. andere zeichen entfernen und komma durch punkte ersetzen """
def speichern(self):
print self.bst_art.currentText()
print self.laenge.text()
print self.breite.text()
def initial(self):
self.l_1 = QtGui.QLabel(u'Durchmesser :')
self.l_2 = QtGui.QLabel(u'Länge/Abwicklung :')
self.l_3 = QtGui.QLabel(u'Breite/Abwicklung :')
self.bst_art = QtGui.QComboBox()
bst_liste =('6','8','10','12','14','R-188 A','HEB-180','Q-257')
for eintrag in bst_liste:
self.bst_art.addItem(eintrag)
self.connect(self.bst_art, QtCore.SIGNAL('currentIndexChanged(int)'),self.ggf_breite_anzeigen)
self.laenge = QtGui.QLineEdit()
self.connect(self.laenge, QtCore.SIGNAL('currentTextChanged(int)'),self.eingabe_richten)
self.breite = QtGui.QLineEdit()
self.speichern_btn = QtGui.QPushButton(u"Position speichern")
#self.speichern_btn.setEnabled(False)
self.connect(self.speichern_btn, QtCore.SIGNAL('clicked()'), self.speichern)
self.grid = QtGui.QGridLayout()
self.grid.addWidget(self.l_1,0,0)
self.grid.addWidget(self.bst_art,0,1)
self.grid.addWidget(self.l_2,1,0)
self.grid.addWidget(self.laenge,1,1)
self.grid.addWidget(self.l_3,2,0)
self.grid.addWidget(self.breite,2,1)
self.grid.addWidget(self.speichern_btn,3,1)
self.setLayout(self.grid)
app = QtGui.QApplication(sys.argv)
programm = Hauptfenster()
programm.show()
sys.exit(app.exec_())