<div dir="ltr">This is strange. You shouldn't need to import anything in components/MainBus.qml to access MainBusButton {} since MainBusButton.qml is in the components/ directory.<div><br></div><div>One thing is that you are registering MainBusButton in Python and it is also registered when you import components. So it seems to me that you are registering the same type twice.</div><div><br></div><div>But the component you are using has characteristics of both. And it is working.</div><div><br></div><div>Let me know if you end up changing it.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 7, 2016 at 9:34 PM, Louis Simons <span dir="ltr"><<a href="mailto:lousimons@gmail.com" target="_blank">lousimons@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I have been trying to learn PyQt5 by migrating an application from Kivy to a QtQuick/Python hybrid.  I'm finally starting to understand the architecture a little better (I should have read the C++ docs sooner), but I've been running into a little weirdness.  In the repository at <a href="https://github.com/superlou/snowman-qt-client" target="_blank">https://github.com/superlou/<wbr>snowman-qt-client</a>, my root QML file is app.qml, which requires the following imports to use my custom registered types:<br><br>import Snowman 1.0<br> import "components"<br><br>I've been having a hard time finding examples of QML projects beyond single-file examples, but since my components are in the "components" directory, it didn't seem too strange to need to explicitly tell QML where the components in the Snowman namespace were. However, if I leave off the explicit imports in MainBus.qml and MainBusButton.qml, I get lots of errors about undefined types and recursive definitions. This seems to be resolved by using something like the following:<br><br>import Snowman 1.0<br> import "."<br><br>I haven't found any examples where 'import "."' has been required, and my understanding was that QML should look in the same directory for siblings automatically.  The application seems to operate normally with the import scheme shown above, but this smells funny, and I wanted to make sure I'm understanding the proper way to structure a large project before I bake an anti-patten into the code.  Is there a better way to handle this?<br><br>Thank you,<br>Louis<br></div>
<br>______________________________<wbr>_________________<br>
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com">PyQt@riverbankcomputing.com</a><br>
<a href="https://www.riverbankcomputing.com/mailman/listinfo/pyqt" rel="noreferrer" target="_blank">https://www.<wbr>riverbankcomputing.com/<wbr>mailman/listinfo/pyqt</a><br></blockquote></div><br></div>