<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Your readings didn't answer because the question is pointless per se:<br></div><div><br></div><div></div>- PyQt is a binding to Qt, a C++ framework, which couldn't care less about what you do with python files; you could even create programs directly from the interactive shell.</div><div dir="ltr">- MVC is a *design* pattern, it has absolutely *nothing* to do with the file structure of the project. While it's common practice to have those parts in different "physical" paths, not only they can also be in separate files while being in the same folder, but they could also be all contained in a single script.</div><div>- The MVC pattern is a bit different from the "Qt point of view", due to the way the library works. In general, they are much less separated than some other frameworks, and it's common to have both the view and the controller contained in the same object (a display object, a class that inherits from QWidget or its subclasses). For data models it's even more "strict": in substance, it is just "Model/View", as both the view and the controller are actually combined in what are called "item views" (QListView, QTableView, QTreeView, all of them being Qt widgets inheriting from QAbstractItemView); both the view and controller parts are also partially managed through what is called an "item delegate", which is responsible of displaying the data of each model index in a (possibly) human readable form, and providing appropriate editors whenever required, while interfacing with the model when data is being committed. Qt even provides higher level views (QListWidget, QTableWidget, QTreeWidget), which provide only simple interfaces to the underlying model, both for the programmer and the user.</div><div>- There is no preferred design, it only depends on your needs (and experience). Even using MVC should never be mandatory, as *any* design pattern has to be chosen depending on the software requirements, not "because that's how it's done". And this is valid for almost any generic and multipurpose framework/language.<br><br>I suggest you to take your time and read more about this topic:</div><div><a href="https://doc.qt.io/qt-5/model-view-programming.html">https://doc.qt.io/qt-5/model-view-programming.html</a><br></div><div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno mar 13 apr 2021 alle ore 17:51 Rich Shepard <<a href="mailto:rshepard@appl-ecosys.com">rshepard@appl-ecosys.com</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm starting to learn PyQt5 building a desktop application. Prior<br>
applications have used the MVC design: model, view, controller. Can I<br>
organize the project this way or do PyQt applications put all files in a<br>
single directory?<br>
<br>
My readings haven't answered this question and I want to start this project<br>
using the preferred organization/design.<br>
<br>
TIA,<br>
<br>
Rich<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">È difficile avere una convinzione precisa quando si parla delle ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi<br><a href="http://www.jidesk.net" target="_blank">http://www.jidesk.net</a></div>