Seite 2 von 2

Verfasst: Dienstag 6. Oktober 2009, 13:18
von franzf

Code: Alles auswählen

from PyQt4.Qt import *
import sys

class DBWidget (QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.view = QTableView(self)

        self.idSpin = QSpinBox(self)
        self.idSpin.setRange(0, 100000)
        self.firstNameEdit = QLineEdit(self)
        self.secondNameEdit = QLineEdit(self)
        self.submitButton = QPushButton("submit", self)

        layout = QHBoxLayout(self)
        layout.addWidget(self.view)
        editLayout = QVBoxLayout()
        layout.addLayout(editLayout)
        editLayout.addWidget(self.idSpin)
        editLayout.addWidget(self.firstNameEdit)
        editLayout.addWidget(self.secondNameEdit)
        editLayout.addSpacing(10)
        editLayout.addWidget(self.submitButton)
        editLayout.addStretch()

        db = QSqlDatabase.addDatabase("QSQLITE")
        db.setDatabaseName("/home/franz/test/test1.db")
        self.model = QSqlTableModel()
        self.model.setTable("person")
        self.model.select()

        self.view.setModel(self.model)

        self.mapper = QDataWidgetMapper(self)
        self.mapper.setModel(self.model)
        self.mapper.addMapping(self.idSpin, 0)
        self.mapper.addMapping(self.firstNameEdit, 1)
        self.mapper.addMapping(self.secondNameEdit, 2)
        self.mapper.toFirst()

        self.connect(self.view, SIGNAL('clicked(const QModelIndex&)'), self.mapper.setCurrentModelIndex)
        self.connect(self.submitButton, SIGNAL('clicked()'), self.model.submitAll)


app = QApplication(sys.argv)
w = DBWidget()
w.show()
app.exec_()
Das Prinzip sollte ja jetzt klar sein.

Ohne GUI Desinger?

Verfasst: Mittwoch 7. Oktober 2009, 11:00
von MDGo88
Hallo Franz,

genauso hatte ich mir das vorgestellt, Danke.

Habe ich Recht mit der Annahme, das du für die GUIs den Designer
überhaupt nicht nutzt?

Wenn ja, was machst Du denn bei komplizierteren GUIs und deren
Änderbarkeit. Ist das nicht sehr aufwendig?

Gruß
MDGo88

Re: Ohne GUI Desinger?

Verfasst: Mittwoch 7. Oktober 2009, 11:16
von franzf
MDGo88 hat geschrieben:Habe ich Recht mit der Annahme, das du für die GUIs den Designer
überhaupt nicht nutzt?

Wenn ja, was machst Du denn bei komplizierteren GUIs und deren
Änderbarkeit. Ist das nicht sehr aufwendig?
Da hast du nicht Recht. Nur bringt ein Beispiel recht wenig, wenn man auch noch externe Dateien mitliefern muss. Es ist gleich ausführbar und besser lesbar.

Ansonsten setze ich stark auf den Designer, da er Änderungen leichter möglich macht, auch bei kleinen Formularen :)