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

Kundendatenprogramm BorlandBuilder -> PyQt Datenspeicheru

Beitragvon tech_1977 » Montag 7. April 2008, 22:30

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: 4866
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Beitragvon EyDu » Montag 7. April 2008, 22:54

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

Beitragvon kaschu » Dienstag 8. April 2008, 09:37

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

Beitragvon tech_1977 » Mittwoch 9. April 2008, 12:09

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

Beitragvon audax » Mittwoch 9. April 2008, 12:25

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

Beitragvon BlackJack » Mittwoch 9. April 2008, 12:34

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

Beitragvon audax » Mittwoch 9. April 2008, 13:03

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

Beitragvon Hyperion » Mittwoch 9. April 2008, 17:39

Wie wärs mit dem QFileDialog? ;-)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot]