Kundendatenprogramm BorlandBuilder -> PyQt Datenspeicheru

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tech_1977
User
Beiträge: 9
Registriert: Dienstag 18. März 2008, 20:21
Wohnort: Stuttgart

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...
mfg Tech_1977
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hi,

zeig doch mal, was du schon für Code zu deinem Problem hast. Sonst kann man nur raten.
kaschu
User
Beiträge: 25
Registriert: Sonntag 25. Februar 2007, 14:15

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
tech_1977
User
Beiträge: 9
Registriert: Dienstag 18. März 2008, 20:21
Wohnort: Stuttgart

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:

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))
Danke im Vorraus für alle Antworten
mfg Tech_1977
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Hast du schonmal vom QtDesigner gehört? /o\
BlackJack

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. :-P
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Ups, bin ja schon ruhig /o\
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wie wärs mit dem QFileDialog? ;-)
Antworten