2016-04-10 8 views
0

Qt bağlamaları Python'a vermek için iki shiboken kitaplığım var.
Lib1'deki sınıflarım Lib1 alt sınıfı olan herhangi bir QWidget/QObject yöntemi de dahil olmak üzere herhangi bir yöntemi devralmaz.shiboken tür sistemi sınıfları miras almıyor

Ben typesystem yükleyen:

<load-typesystem name="source/plugin/typesystem_lib1.pyside.xml" generate="no" /> 

Ve çıkan bağlayıcı kullanılabilir, ancak miras yöntemleri eksik.
Bu, fark yaratan kodun adıdır.

Böyle bir şeye sahip herhangi bir şansı oldu mu?

cevap

0

Düzenleme:
Bu sizin o başlığı içermesi önce aslında shiboken-başlık dosyası (global.h) ithalat sipariş dayalı ekler bu
Yani bu başlıkla bütün bağımlılıkları sağlamak için gereken dahildir shiboken benziyor ve tüm içerdekiler shiboken-başlığında olmalı, saygı duyulmayacakları için başka dosyalar içeren bir dosya içeremezsiniz.
Ayrıca shiboken tam bir yol kullanmaz, sadece üstbilgi adını, bu yüzden üstbilgilerime bir sembolik bağlantı oluşturan bir otomatik simet bağlantısı oluşturdum ve benzersiz olması için onları path_to_data.h olarak adlandırıyorum.
/Düzenle

Bu nedenle, iki sınıf dosyamın aynı ada sahip olduğu ve bu bilgiler eklendiğinde shiboken'ın karıştığı için bunun nedeninin başarısız olduğu ortaya çıkıyor.

Shiboken shiboken-başlığından başlıkları yükler, ancak biz olsun demek tam yolunu tutarak yerine onlara sadece dosya adı şeritler: data.h yerde açıksa

#include "/path/to/data.h" 
#include "data.h" 

Ve dahil yolunu, aynı adı taşıyan sınıfı bulacaktır.

Bunu bir hata olarak düşünürüm, ancak umarım bu, bu sorunla karşılaşan herkese yardımcı olur.