Hallo,
ich brauche unbedingt Hilfe!
ich will ein in BorlandBuilder mit C geschriebenes Programm zur Kundenverwaltung in Python mit PyQt umschreiben.
In C speichere ich die Daten wie Name, Wohnort , telefon und Land in einer Struktur Kunde diese wird dan in eine Datei gespeichert.
Ich weiss nicht wie man diese Daten in eine liste oder Dictionary speichert wenn man die eingetippten Daten mit dem Button übernehmen übernimmt.
Bin mit Python am Verzweifeln...oder ich bin zu Blöd...
Kundendatenprogramm BorlandBuilder -> PyQt Datenspeicheru
Wenn ich Dein Anliegen richtig verstehe, willst Du c-structs in Python Daten umwandeln? Falls ja, dann ist http://docs.python.org/lib/module-struct.html das Richtige für Dich.
Du solltest aber intensive Tests mit einigen Daten machen, um alle Eventualitäten zu überprüfen!
Gruß
Karsten
Du solltest aber intensive Tests mit einigen Daten machen, um alle Eventualitäten zu überprüfen!
Gruß
Karsten
Hi,
Danke für die Antworten!
Ich will ich nichts von C umwandelln sondern komplett neu erstellen aber die Funktionen sollen wie im C Programm sein.
Ich kann jetzt abspeichern und die daten wieder holen aber wie Öffne ich eine Verzeichnissabfrage und Abfrage nach dateinamen?
Mein bisheriger Code:
Danke im Vorraus für alle Antworten
Danke für die Antworten!
Ich will ich nichts von C umwandelln sondern komplett neu erstellen aber die Funktionen sollen wie im C Programm sein.
Ich kann jetzt abspeichern und die daten wieder holen aber wie Öffne ich eine Verzeichnissabfrage und Abfrage nach dateinamen?
Mein bisheriger Code:
Code: Alles auswählen
import sys
import pickle
from PyQt4 import QtGui, QtCore
from kundendaten import Ui_Kundendaten as DLG
class Fenster(QtGui.QDialog,DLG):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
# Slots einrichten
self.connect(self.pushButton_5,QtCore.SIGNAL("clicked()"), self.schliessen)
self.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.uebernehmen)
self.connect(self.pushButton_4, QtCore.SIGNAL("clicked()"), self.oeffnen)
self.connect(self.pushButton_6, QtCore.SIGNAL("clicked()"), self.speichern)
#self.connect(self.land,QtCore.SIGNAL("clicked()"),self.auswahl)
def uebernehmen(self):
# Daten auslesen
Name = "Name: %s" % self.name.text()
Wohnort = "Wohnort: %s" % self.wohnort.text()
Strasse = "Strasse: %s" % self.strasse.text()
Tel = "Telefonnummer: %s" % self.telefon.text()
Land = "Land: %s" % QtCore.QString(self.land.currentText())
#Land = QtCore.QString(self.land.currentText())
eintrag = {'Name':Name,'Wohnort':Wohnort,'Strasse':Strasse,'Tel':Tel,'Land':Land}
adressbuch.append(eintrag)
print adressbuch
def schliessen(self):
print 'schade'
self.close()
def oeffnen(self):
# Daten auslesen
f = file("dateiname.txt", "r")
adressbuch = pickle.load(f)
f.close()
print adressbuch
def speichern(self):
f = file("dateiname.txt","w")
pickle.dump(adressbuch, f)
f.close()
# Main
adressbuch = []
app = QtGui.QApplication(sys.argv)
dialog = Fenster()
dialog.show()
sys.exit(app.exec_())
PyQt Code:
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'kundendaten.ui'
#
# Created: Sat Apr 05 17:12:02 2008
# by: PyQt4 UI code generator 4.3.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
class Ui_Kundendaten(object):
def setupUi(self, Kundendaten):
Kundendaten.setObjectName("Kundendaten")
Kundendaten.resize(QtCore.QSize(QtCore.QRect(0,0,541,259).size()).expandedTo(Kundendaten.minimumSizeHint()))
self.groupBox = QtGui.QGroupBox(Kundendaten)
self.groupBox.setGeometry(QtCore.QRect(40,20,232,191))
self.groupBox.setObjectName("groupBox")
self.gridlayout = QtGui.QGridLayout(self.groupBox)
self.gridlayout.setObjectName("gridlayout")
self.label = QtGui.QLabel(self.groupBox)
self.label.setObjectName("label")
self.gridlayout.addWidget(self.label,0,0,1,1)
self.name = QtGui.QLineEdit(self.groupBox)
self.name.setObjectName("name")
self.gridlayout.addWidget(self.name,0,1,1,1)
self.label_2 = QtGui.QLabel(self.groupBox)
self.label_2.setObjectName("label_2")
self.gridlayout.addWidget(self.label_2,1,0,1,1)
self.wohnort = QtGui.QLineEdit(self.groupBox)
self.wohnort.setObjectName("wohnort")
self.gridlayout.addWidget(self.wohnort,1,1,1,1)
self.label_3 = QtGui.QLabel(self.groupBox)
self.label_3.setObjectName("label_3")
self.gridlayout.addWidget(self.label_3,2,0,1,1)
self.strasse = QtGui.QLineEdit(self.groupBox)
self.strasse.setObjectName("strasse")
self.gridlayout.addWidget(self.strasse,2,1,1,1)
self.label_6 = QtGui.QLabel(self.groupBox)
self.label_6.setObjectName("label_6")
self.gridlayout.addWidget(self.label_6,3,0,1,1)
self.land = QtGui.QComboBox(self.groupBox)
self.land.setObjectName("land")
self.gridlayout.addWidget(self.land,3,1,1,1)
self.label_4 = QtGui.QLabel(self.groupBox)
self.label_4.setObjectName("label_4")
self.gridlayout.addWidget(self.label_4,4,0,1,1)
self.telefon = QtGui.QLineEdit(self.groupBox)
self.telefon.setObjectName("telefon")
self.gridlayout.addWidget(self.telefon,4,1,1,1)
self.groupBox_2 = QtGui.QGroupBox(Kundendaten)
self.groupBox_2.setGeometry(QtCore.QRect(280,20,251,191))
self.groupBox_2.setObjectName("groupBox_2")
self.pushButton = QtGui.QPushButton(self.groupBox_2)
self.pushButton.setGeometry(QtCore.QRect(10,20,111,31))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtGui.QPushButton(self.groupBox_2)
self.pushButton_2.setGeometry(QtCore.QRect(10,60,111,31))
self.pushButton_2.setObjectName("pushButton_2")
self.pushButton_3 = QtGui.QPushButton(self.groupBox_2)
self.pushButton_3.setGeometry(QtCore.QRect(10,100,111,31))
self.pushButton_3.setObjectName("pushButton_3")
self.spinBox = QtGui.QSpinBox(self.groupBox_2)
self.spinBox.setGeometry(QtCore.QRect(10,140,42,22))
self.spinBox.setObjectName("spinBox")
self.pushButton_4 = QtGui.QPushButton(Kundendaten)
self.pushButton_4.setGeometry(QtCore.QRect(40,220,77,31))
self.pushButton_4.setObjectName("pushButton_4")
self.pushButton_5 = QtGui.QPushButton(Kundendaten)
self.pushButton_5.setGeometry(QtCore.QRect(430,220,91,31))
self.pushButton_5.setObjectName("pushButton_5")
self.pushButton_6 = QtGui.QPushButton(Kundendaten)
self.pushButton_6.setGeometry(QtCore.QRect(130,220,77,31))
self.pushButton_6.setObjectName("pushButton_6")
self.retranslateUi(Kundendaten)
QtCore.QMetaObject.connectSlotsByName(Kundendaten)
def retranslateUi(self, Kundendaten):
Kundendaten.setWindowTitle(QtGui.QApplication.translate("Kundendaten", "Dialog", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox.setTitle(QtGui.QApplication.translate("Kundendaten", "Kundendaten", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("Kundendaten", "Name", None, QtGui.QApplication.UnicodeUTF8))
self.label_2.setText(QtGui.QApplication.translate("Kundendaten", "Wohnort", None, QtGui.QApplication.UnicodeUTF8))
self.label_3.setText(QtGui.QApplication.translate("Kundendaten", "Strasse", None, QtGui.QApplication.UnicodeUTF8))
self.label_6.setText(QtGui.QApplication.translate("Kundendaten", "Land", None, QtGui.QApplication.UnicodeUTF8))
self.land.addItem(QtGui.QApplication.translate("Kundendaten", "Deutschland", None, QtGui.QApplication.UnicodeUTF8))
self.land.addItem(QtGui.QApplication.translate("Kundendaten", "Schweiz", None, QtGui.QApplication.UnicodeUTF8))
self.land.addItem(QtGui.QApplication.translate("Kundendaten", "Österreich", None, QtGui.QApplication.UnicodeUTF8))
self.label_4.setText(QtGui.QApplication.translate("Kundendaten", "Telefonnummer", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox_2.setTitle(QtGui.QApplication.translate("Kundendaten", "Datenbank", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton.setText(QtGui.QApplication.translate("Kundendaten", "Ãœbernehmen", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_2.setText(QtGui.QApplication.translate("Kundendaten", "Ändern", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_3.setText(QtGui.QApplication.translate("Kundendaten", "Löschen", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_4.setText(QtGui.QApplication.translate("Kundendaten", "Öffnen", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_5.setText(QtGui.QApplication.translate("Kundendaten", "Schliessen", None, QtGui.QApplication.UnicodeUTF8))
self.pushButton_6.setText(QtGui.QApplication.translate("Kundendaten", "Speichern", None, QtGui.QApplication.UnicodeUTF8))
mfg Tech_1977
Sicherlich, sonst wäre die untere Hälfte des Quelltextes wohl nicht aus einer "*.ui"-Datei generiert worden. Liess doch mal den Kommentar ab Zeile 67 bevor Du so provozierende Fragen stellst.