一个用于小型异步web应用程序的简单gui包
dominter的Python项目详细描述
dominter是一个用于小型异步web应用程序的简单gui(图形用户界面)python包。
功能
- javascript风格的api和其他类型的api,可以写得更短。
- 可以使用任何标记和属性。
- 支持onclick()、onchange()和addEventListener()。
- 支持多窗口。
- 支持多实例和单实例。
- 支持element.classname和element.style属性。
- 对“hashchange”等事件支持window.addEventListener()。
- 支持本地存储和会话存储。
- 支持假窗口。onload()通知localstorage,sessionstorage和location已设置。
- 支持invoke()从其他线程进行操作。
- 只依赖于Tornado。
安装
pip install dominter
示例
- 你好,世界:
fromdominterimportWindow,start_appclassMyWindow(Window):def__init__(self):super().__init__()document=self.documentself.p1=document.createElement('p')self.p1.textContent="text content"self.btn1=document.createElement('button')self.btn1.textContent="button1"self.btn1.onclick=self.on_btn1document.body.appendChild(self.p1)document.body.appendChild(self.btn1)defon_btn1(self,ev):self.p1.textContent='Hello world!'win=MyWindow()start_app(win)
- 不上课:
fromdominterimportWindow,start_appwin=Window()document=win.documenttag_p1=document.createElement('p')tag_p1.textContent="text content"defon_btn1(ev):tag_p1.textContent='Hello world!'tag_btn1=document.createElement('button')tag_btn1.textContent="button1"tag_btn1.onclick=on_btn1document.body.appendChild(tag_p1)document.body.appendChild(tag_btn1)start_app(win)
- 三种类型的标记创建和子列表属性
fromdominterimportWindow,start_appwin=Window()document=win.document# js likep1=document.createElement('p')p1.textContent='by createElement() '# html like : specify all by text excepts event handlerp2=document.tag('p _="by tag() "')# use '_=' for textContent# individual tag methodp3=document.p('by p() method. ')document.body.childList=[p1,p2,p3]start_app(win)
单个标记方法: 标题,样式,链接,脚本, BR,P,SPAN,DIV,按钮, 文本,复选框,收音机,颜色, 日期,月,时间,周,数字, 密码,范围,选择,选项, 文本区域,表格,tr,th,td, 字段集,图例,IMG,A,标签, h1、h2、h3、h4、h5、h6、ol、li、ul、节、页眉、页脚
- 多窗口
fromdominterimportWindow,start_appclassMyWindow1(Window):def__init__(self):super(MyWindow1,self).__init__()document=self.documentself.txt1=document.text('windows1')self.btn1=document.button('test1',onclick=self.on_btn1)document.body.appendChild(self.txt1)document.body.appendChild(self.btn1)defon_btn1(self,ev):self.txt1.value='changed1'classMyWindow2(Window):def__init__(self):super(MyWindow2,self).__init__()document=self.documentself.txt1=document.text('windows2')self.btn1=document.button('test1',onclick=self.on_btn1)document.body.appendChild(self.txt1)document.body.appendChild(self.btn1)defon_btn1(self,ev):self.txt1.value='changed2'start_app([MyWindow1(),# localhost:8888/index.htmlMyWindow2()])# localhost:8888/index1.html
- 多实例和单实例
fromdominterimportWindow,start_appclassMyWindow1(Window):def__init__(self):super(MyWindow1,self).__init__()document=self.documentself.txt1=document.text('windows1')self.btn1=document.button('test1',onclick=self.on_btn1)document.body.appendChild(self.txt1)document.body.appendChild(self.btn1)defon_btn1(self,ev):self.txt1.value='changed1'classMyWindow2(Window):def__init__(self):super(MyWindow2,self).__init__()document=self.documentself.txt1=document.text('windows2')self.btn1=document.button('test1',onclick=self.on_btn1)document.body.appendChild(self.txt1)document.body.appendChild(self.btn1)defon_btn1(self,ev):self.txt1.value='changed2'start_app([MyWindow1(),# instance for single-instance. localhost:8888/index.htmlMyWindow2])# class for multiple-instance. localhost:8888/index1.html
状态
α
版权所有(c)2017-2018 Tamini Bean
许可证:mit
推荐PyPI第三方库
- 热门话题
- java如何在Salesforce中查询自定义对象? RichFaces 4中的java ExtendedDataTable:数据模型处理 java Android类层次结构和带有片段的接口 java如何在文件中保存JLabel的颜色/大小? java编辑类中的返回值而不修改类本身? 安卓如何替换字符串java中的ï» 1.3.7.发布>1.4.1。发布| java。lang.NoSuchMethodError:org。springframework。靴子建设者SpringApplicationBuilder。展示横幅 java列表保存在模型中,而不在setter中进行设置 java如何打开一个窗口。windows中的ks文件? Java HashMap获取值(其中大部分值) vps的javascript Websocketurl? 使用byte buddy或某些库进行java评测 java Dom4j获取单节点文本值