# PyQtDom **Repository Path**: zhiyang/py-qt-dom ## Basic Information - **Project Name**: PyQtDom - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-07 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 简介 使用mvvmQt可以方便的使用jinja2的模板创建Qt界面,并且提供了mvvm的方式来进行数据操作和展示,提高开发速度。 # 控件 ## 1. 窗体 ### Widget、Window > 使用Widget可以创建一个普通窗体,Window则在Widget的基础上提供更好的可视化操作,使用<widget></widget>或<window></window>表示。 #### examples/window/templates/index.jinja2 ```html ``` #### examples/window/app.py ```python from mvvmQt.Parser import Parser import os if __name__ == "__main__": p = Parser(os.path.abspath("%s/../" % __file__)) p.build() p.run() ``` ## 2. 布局 ### 网格布局 > 使用网格布局的作用相同于QGridLayout, 使用<grid></grid>表示,行则用<row></row>表示,列则用<col></col>表示,通过在col添加span属性表示跨多少列,添加offset属性表示偏移多少列,rowSpan属性表示跨多少行,rowOffset属性表示偏移多少行。 #### examples/grid/templates/index.jinja2 ```html ``` #### examples/grid/app.py ```python from mvvmQt.Parser import Parser import os if __name__ == "__main__": p = Parser(os.path.abspath("%s/../" % __file__)) p.build() p.run() ``` ### 横/纵向布局 > 使用横/纵向布局可以方便的将布局下的控件自动按横/纵向布局排版,横向布局使用<hbox></hbox>,纵向布局使用<vbox></vbox> #### example/box/templates/index.jinja2 ```html {% for i in range(5) %} {% endfor %} {% for i in range(5) %} {% endfor %} ``` #### examples/box/app.py ```python from mvvmQt.Parser import Parser import os if __name__ == "__main__": p = Parser(os.path.abspath("%s/../" % __file__)) p.build() p.run() ``` ### 常用控件 > 以下例子展示常用控件 #### examples/controls/templates/index.jinja2