<divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> [TOC]</div><divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> </div><divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> A mvvm oriented library for Qt, to create Projects for Widgets and Quick Controls 2 in parallel.</div><divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> </div><divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> [](https://travis-ci.org/Skycoder42/QtMvvm)</div><divclass="line"><aname="l00006"></a><spanclass="lineno"> 6</span> [](https://ci.appveyor.com/project/Skycoder42/qtmvvm)</div><divclass="line"><aname="l00007"></a><spanclass="lineno"> 7</span> [](https://www.codacy.com/app/Skycoder42/QtMvvm)</div><divclass="line"><aname="l00008"></a><spanclass="lineno"> 8</span> [](https://aur.archlinux.org/pkgbase/qt5-mvvm/)</div><divclass="line"><aname="l00009"></a><spanclass="lineno"> 9</span> </div><divclass="line"><aname="l00010"></a><spanclass="lineno"> 10</span> </div><divclass="line"><aname="l00011"></a><spanclass="lineno"> 11</span> </div><divclass="line"><aname="l00012"></a><spanclass="lineno"> 12</span> </div><divclass="line"><aname="l00013"></a><spanclass="lineno"> 13</span> For more images, check the [Images page](https://skycoder42.github.io/QtMvvm/images_page.html)</div><divclass="line"><aname="l00014"></a><spanclass="lineno"> 14</span> </div><divclass="line"><aname="l00015"></a><spanclass="lineno"> 15</span> # Features {#qtmvvm_readme_label_0}</div><divclass="line"><aname="l00016"></a><spanclass="lineno"> 16</span> The main feature of QtMvvm is the seperation between ui and logic. With this library, you can create a core library, containing your application logic, as well as ui controllers (called "ViewModels"), and create multiple ui projects on top of it. This way you can for example provide both, a widgets and a qt quick based application, or create different uis for different devices, without having to code anything twice.</div><divclass="line"><aname="l00017"></a><spanclass="lineno"> 17</span> </div><divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> The key features are:</div><divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> </div><divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> - Create ViewModels in the core application to prepare data for presentation without binding to any concret GUI</div><divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span>  - Supports singleton ViewModels</div><divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span>  - Supports automatic presentation of container ViewModels</div><divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> - Functions to show messageboxes (info, warning, error, etc.) from your core app</div><divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span>  - Asynchronous, with result handling</div><divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span>  - Supports input dialogs and native file dialogs out of the box</div><divclass="line"><aname="l00026"></a><spanclass="lineno"> 26</span>  - Supports native file pickers on Android</div><divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span>  - Supports color picker dialog</div><divclass="