سؤال

ولدي البرمجية التالية:

proxy_index = self.log_list.filter_proxy_model.createIndex(index, COL_REV)
model_index = self.log_list.filter_proxy_model.mapToSource(proxy_index)
revno = self.log_list.model.data(model_index,QtCore.Qt.DisplayRole)
self.setEditText(revno.toString())

والرمز تحطمت على السطر الثاني. ليس هناك استثناء المطروحة. أي أثر الظهر. لا التحذيرات. كيف يمكنني إصلاح هذا؟

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

المحلول

وربما يكون ذلك كنت تستخدم طريقة نموذج الوكيل createIndex () بشكل غير صحيح. عادة، يتم استدعاء أسلوب createIndex () كجزء من مؤشر على النموذج () تطبيق الأسلوب.

هل حاولت استدعاء مؤشر نموذج الوكيل () طريقة للحصول على مؤشر وكيل ثم رسم ذلك إلى المصدر؟

وربما يمكنك إظهار رمز في السياق أو شرح ما تحاول القيام به.

نصائح أخرى

ولقد واجهت نفس المشكلة، ولكن لحسن الحظ باستخدام طريقة مؤشر () بدلا من createIndex () كما توصي ديفيد يفعل السحر. بشكل عام انها فكرة سيئة للتسكع مع مؤشر الداخلي QModelIndex خارج أسلوب مؤشر (). حتى عند استخدام نموذج الخاص بك تعبث المؤشر الداخلي يؤدي في كثير من الأحيان إلى bahavior غير متوقع منذ كيو تي اس مشاهدة متاحة غامضة جدا للمستخدم.

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