سؤال

القادمة من World .NET إلى Python و Pyqt4. كان يتساءل عما إذا كان أي شخص على دراية بأي وظيفة من شأنها أن تسمح لي بربط البيانات عن الحاجيات كيو تي؟ على سبيل المثال (باستخدام SQLAlchemy للبيانات):

gems = session.query(Gem).all()
list = QListWidget()
list.datasource = gems

هل هذا شيء ممكن؟

هل كانت مفيدة؟

المحلول

سيكون لدى أحد الخيارات وظيفة إرجاع كائن قائمة (أو tuple) من استعلام، ثم استخدم ذلك لتحديث QListWidget. تذكر أن qlistwidget يخزن Qliststrings. قد تبدو وظيفة التحديث الخاصة بك مثل هذا:

def updateQListWidget(qlistwidget, values):
        """ Updates a QListWidget object with a list of values
        ARGS:
            qlistwidget  - QListWidget object
            values       - list of values to add to list widget
        """
        qlistwidget.clear()
        qlist = QtCore.QStringList()
        for v in values:
            s = QtCore.QString(v)
            qlist.append(s)
        qlistwidget.addItems(qlist) 

نصائح أخرى

على الرغم من عدم استبدال مباشر، فقد تجد أنه من المفيد أن ننظر إلى فئة Qdatawidgetmapper:

http://pyqt.sourceforge.net/docs/pyqt4/qdatawidgetmapper.html.

إذا لم تكن خائفا من كود القراءة C ++، فقد يثبت هذا المثال أيضا أن يكون مفيدا:

https://doc.qt.io/qt-4.8/qt-sql-sqlwidgetmapper-example.html.

لاحظ أن MAPPER يعمل داخل إطار نموذج / عرض QT. في هذا المثال، يحدث النموذج فقط طراز قاعدة بيانات SQL.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top