范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

不会HtmlJavaScriptCSS,怎么办?有python的Remi库

  1 说明:
  =====
  1.1 如果不会web前端的html、JavaScript、CSS的知识怎么办?无所不能的python可以做到。
  1.2 Remi是一个用于Python应用程序的GUI库,它将应用程序的界面转换为HTML,以便在Web浏览器中呈现。
  1.3 这将删除特定于平台的依赖项,并允许您使用Python轻松开发跨平台应用程序!
  2 准备:
  =====
  2.1 官网地址:https://github.com/dddomodossola/remi https://remi.readthedocs.io/en/latest/
  2.2 环境:
  华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。
  2.3 安装:pip install remi #本机安装 sudo pip3.8 install remi sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple remi
  3 Hello world:
  ==========
  3.1 代码:注释版import remi.gui as gui from remi import start, App #定义类 class MyApp(App):     def __init__(self, *args):         super(MyApp, self).__init__(*args) #以上3行代码,固定初始化          def main(self):         #实例化一个VBox,大小设置         wid = gui.VBox(width=300, height=200)         #窗口的标签label=显示文本,大小比例法设置         # 注意 代表换行,但需要配合style={"white-space":"pre"},才起作用         #preserves newline==保留换行符         self.lbl = gui.Label("Hello  World", width="80%", height="50%",style={"white-space":"pre"})         #按钮和名称、大小设置,支持中文         self.bt = gui.Button("Press me=点击我!", width=200, height=30)         #绑定按钮的点击事件,调用函数         self.bt.onclick.do(self.on_button_pressed)         #adding the widgets to the main container         #将小部件添加到主容器wid,有时候上面实例化用container=主容器         wid.append(self.lbl)         wid.append(self.bt)         return wid      # listener function==监听功能     #调用点击按钮函数;emitter==发射器     def on_button_pressed(self, emitter):         self.lbl.set_text("Hello World!")          if __name__ == "__main__":     # starts the webserver     # 主要参数     # start(MyApp,address="127.0.0.1", port=8081, multiple_instance=False,enable_file_cache=True, update_interval=0.1, start_browser=True)     #start(MyApp, debug=True, address="0.0.0.0", port=0)  #本机测试地址改动无效,为默认地址     start(MyApp, debug=True)  #端口指定无效,也不是默认8081,估计本机端口已经被占用
  3.2 操作和效果:
  4 Bootstrap:
  =========
  4.1 代码:bootstrap.pyimport remi.gui as gui from remi import start, App  class MyApp(App):     def __init__(self, *args):         super(MyApp, self).__init__(*args)      def main(self):         #引入在线Bootstrap的css文件         my_css_head = """                          """         #引入在线Bootstrap的js文件         my_js_head = """                          """          self.page.children["head"].add_child("mycss", my_css_head)         self.page.children["head"].add_child("myjs", my_js_head)        #主窗口实例化,定义大小和样式         main_container = gui.VBox(width="500px", height="500px", style={"margin":"0px auto","padding":"10px"})         #label=标签         self.lbl = gui.Label("Label with Lock Icon=带锁图标的标签")         #样式选择         self.lbl.add_class("glyphicon glyphicon-lock label label-primary")         #输入框         self.tf = gui.TextInput(hint="Your Input")         #样式选择         self.tf.add_class("form-control input-lg")         #下拉选择框         self.dd = gui.DropDown(width="200px")         #字体大小         self.dd.style.update({"font-size":"large"})         #样式选择         self.dd.add_class("form-control dropdown")         #下拉框内容选择         self.item1 = gui.DropDownItem("First Choice")         self.item2 = gui.DropDownItem("Second Item")         #定义self的功能,目前未定义         self.dd.append(self.item1,"item1")         self.dd.append(self.item2,"item2")                       #Table=表格,第一个是表头         myList = [  ("ID","Lastname","Firstname","邮编","城市"),                     ("1","Pan","Peter","888888","上海"),                     ("2","Sepp","Schmuck","123456","北京")  ]         #表格设置,内容,大小         self.tbl = gui.Table.new_from_list(content=myList,width="400px",height="100px",margin="10px")         #样式选择         self.tbl.add_class("table table-striped")         #按钮设置         self.bt1 = gui.Button("OK", width="100px")         #是Bootstrap样式 Class:  btn-success         self.bt1.add_class("btn-success")                            self.bt2 = gui.Button("Abbruch",width="100px")         #Bootstrap Class:  btn btn-danger         self.bt2.add_class("btn-danger")                                          #Build up the gui,主窗口挂载下面项目         main_container.append(self.lbl,"lbl")         main_container.append(self.tf,"tf")         main_container.append(self.dd,"dd")         main_container.append(self.tbl,"tbl")         main_container.append(self.bt1,"btn1")         main_container.append(self.bt2,"btn2")                  return main_container      if __name__ == "__main__":     # starts the webserver     start(MyApp, debug=True)
  4.2 操作和效果图:
  5 tabbox:
  =======
  5.1 代码:import remi.gui as gui from remi import start, App  class MyApp(App):     def __init__(self, *args):         super(MyApp, self).__init__(*args)      def main(self):         #按钮         b1 = gui.Button("Show second tab", width=200, height=30)         #表格框         tb = gui.TabBox(width="80%")         tb.append(b1, "First")                  b2 = gui.Button("Show third tab", width=200, height=30)         #tb.add_tab(b2, "Second", None)         tb.add_tab(b2, "Second")          b3 = gui.Button("Show first tab", width=200, height=30)         #tb.add_tab(b3, "Third", None)         tb.add_tab(b3, "Third")         #3种方法         b1.onclick.do(self.on_bt1_pressed, tb, b2)         b2.onclick.do(self.on_bt2_pressed, tb, "Third")         b3.onclick.do(self.on_bt3_pressed, tb, 0)          return tb          #按钮功能的定义,3种功能     def on_bt1_pressed(self, widget, tabbox, refWidgetTab):         tabbox.select_by_widget(refWidgetTab)      def on_bt2_pressed(self, widget, tabbox, refWidgetTabName):         tabbox.select_by_name(refWidgetTabName)          def on_bt3_pressed(self, widget, tabbox, tabIndex):         tabbox.select_by_index(tabIndex)  if __name__ == "__main__":     #网页标题,standalone=False默认是不允许     start(MyApp, title="Tab Demo=表格例子", standalone=False)
  5.2 操作和效果图:
  6standalone:
  ======
  6.1 代码: mian.pyfrom remi import start, App #将 bootstrap.py脚本放在本代码mian.py同一个目录下 from bootstrap import MyApp  if __name__ == "__main__":     start(MyApp, standalone=True)
  6.2 代码:bootstrap.py=4.1所指定代码:
  6.3 注意启动网页服务器默认为不启动(false),需要启动则为standalone=True。
  6.4 操作和效果图:
  把web网页变成一个app的GUI
  7 附一张gif:
  代码省略
  ===自己整理并分享===
  喜欢的人,可以点赞、关注、评论、转发和收藏。

以营利为目的开设经营赌场,提供场所及用具供他人赌博,构成犯罪最近刷到一位创作者,说是配偶因赌博被判处3年7个月有期徒刑。从普法的角度,我们来聊一聊可能涉及到刑法规定吧!1什么罪名?刑法中与赌博相关的罪名有2条,一是赌博罪,二是开设赌场罪。赌一方婚前购房,离婚时,婚后共同还贷及对应财产增值部分如何计算每日一点典民法典第一千零八十七条离婚时夫妻共同财产的处理离婚时,夫妻的共同财产由双方协议处理协议不成的,由人民法院根据财产的具体情况,按照照顾子女女方和无过错方权益的原则判决。对夫经适房属于福利性质住房?买经适房后遇动迁,可否享受动迁利益?案情概述黄浦房屋是俞某承租的公有房屋,俞某和儿子小俞的户口在此房屋。俞某离异后结识王某,王某于1995年起居住于此。2002年12月25日,俞某和王某登记结婚,王某户口迁入黄浦房屋从轻微碰擦到5死7伤,构成以危险方法危害公共安全罪被判死刑案情概述2019年10月24日9时许,陈某驾驶小汽车自家中出发,途中以35公里小时左右的速度与电动车发生轻微碰擦,陈某并未停车处理事故,而是持续加速并多次变道逃逸。在逃逸过程中,陈领证次日丈夫坦白患艾滋病8年,法院适用民法典新规判决撤销婚姻一点感悟婚前同居需谨慎,婚前体检很必要。如果婚前隐瞒重大疾病,婚后可能传染给配偶,或者传染遗传给下一代,则是对配偶和下一代的极度不负责任,不利于家庭的幸福和谐,也不利用社会的稳定。公司未书面告知离职员工无需履行竞业限制义务,被判支付经济补偿案情概述江湖入职公司担任销售经理一职,劳动合同明确约定了竞业限制和保密义务。2020年1月江湖离职,履行了竞业限制义务,未去竞争对手单位上班,也未自己从事与公司有竞争关系的业务,但取得经适房产证不满5年的唯一购房人死亡,以原房价加利息被回购核心要点取得上海市共有产权保障房(经济适用房)房地产权证未满5年,购房人和同住人均死亡的,应当腾退共有产权保障住房,由房屋所在地的区住保中心予以回购,回购价格为房屋原价利息(银行同市政工程延期导致逾期交房,开发商明知但签约时未告知,是否违约每日一点典民法典第七条民事主体从事民事活动,应当遵循诚信原则,秉持诚实,恪守承诺。第五百零九条第二款当事人应当遵循诚信原则,根据合同的性质目的和交易习惯履行通知协助保密等义务。案情大学生酒醒后强奸醉酒女同学,判3缓4,量刑是否过轻?引争议案情简述2020年11月27日,大学生赵某组织音乐社4名社团成员喝酒聚餐,赵某酒醒后趁被害人醉酒无力反抗之际,将其抱至隔壁房间沙发上强行与其发生性关系。2020年12月1日,赵某被儿子忽悠母亲签卖房协议取得产权,母亲起诉要求撤销,为何败诉?案情概述房屋是母亲拆迁所得,2011年12月登记在母亲一人名下,由母亲一人独自居住。2013年,儿子在兄弟姐妹不知情的情况下,偷偷带母亲至房地产交易中心办理过户手续,由于母亲并不识明年离婚登记新流程申请离婚30天冷静期30天内申请发证根据民政部关于贯彻落实中华人民共和国民法典中有关婚姻登记规定的通知(民发2020116号)的规定,自2021年1月1日起,离婚登记程序如下一申请夫妻双方自愿离婚的,应当签订书面离婚
我的人生我做主!50岁阿姨成功逆袭,方法这么简单无论是刚上学的幼儿园小女生,还是正值青春懵懂的花季少女,亦或是历经人生的中年阿姨,都想拥有曼妙的身材,绝世的容颜。为了变美,她们每一人都奋勇前行,不懈努力中。今天的主人公也是一位爱这个省份奶茶消费居全国第一!奶茶的这些危害,你有必要了解一下继去年秋天的第一杯奶茶之后,春天的第一杯奶茶也来了。根据最新的春季奶茶消费报告显示,线上点奶茶上涨25,整体奶茶消费上涨10。同时,中老年奶茶消费整体增长10。不少网友调侃道,现在静脉曲张,长在腿上的蚯蚓不止影响美观这么简单天气逐渐变暖,衣柜里短裙短裤蠢蠢欲动。但是,像蚯蚓一样爬在腿上导致不敢露腿的东西是什么?其实,这些蚯蚓就是传说中的美腿杀手下肢静脉曲张。静脉曲张俗称蚯蚓腿,除了视觉上不美观之外,还乳腺癌已成全球最常见癌症,掌握乳腺癌自测技能,早发现早治疗世卫组织癌症专家安德烈伊尔巴维表示,2020年确诊癌症的患者数达1930万人,1000万人死于癌症。目前,全球15的人在其一生中都会罹患癌症。乳腺癌已成全球最常见癌症,在新增癌症病痔疮来袭,却因为尴尬不治疗?痔疮的5个危害别忽视我国普查资料表明,肛门直肠疾病发病为59。1,痔占所有肛肠疾病中的87。25,十有九痔变成真实写照。由于不良的饮食生活习惯,如久坐久站不吃新鲜蔬菜水果上厕所玩手机等,确实有越多的人胸大更容易得乳腺癌?什么样的人易得乳腺癌?这份笔记请收好乳腺癌,这个听起来就让很多小仙女瑟瑟发抖的癌症,是全球女性健康的头号敌人,在我国女性恶性肿瘤中,发病率也高居榜首。至于胸部越大越容易得乳腺癌,这个传言,大概是在这个看胸的世界里,小准备结婚了?婚前没做过这件事,当心害了孩子也害了自己,婚检今天上热搜了,全国人大代表建议推行免费婚检。想起来,前两天身边的一个女性朋友发生了这样的事我的孕期是完美的,我超级谨慎,每天吃产前维生素,从来不碰烟酒,遇到有人吸烟我就主动走开春季总是皮肤不适,该如何护理?一文从4方面来讲解爱美是人的天性,不管是什么样的人,都希望自己有健康红润有光泽的皮肤。要想一年的皮肤都好,就要格外注意春天的皮肤护理,做好防止皮肤过敏的准备。由于春季气候干燥,并且温度变化大,一冷一患上老胃病,还不忌口?教你4个养胃妙招,告别胃痛烦恼快节奏的高压生活,让不少白领都患上胃病,尽管都是一些小毛病,但是长久不注意养护,对胃的伤害还是极大的,今天就给大伙介绍几个养胃护胃一定要注意的饮食禁忌。俗话说三分靠治,七分靠养,养查出脂肪肝,怎么办?如何消除?教你2个方法和脂肪肝说再见近年来,随着社会的快节奏的发展,人们的生活水平也日益提高。然而,由于一些不良的饮食习惯和过量饮酒,脂肪肝的发病率呈逐年上升和年轻化的趋势,需要人们的重视。脂肪肝早期一般没有明显症状吸烟多会引发早泄?1个小技巧助力为爱加时,恢复男性自信心快枪手在战场上可谓威风凛冽,在夫妻生活中,却成为了早泄的代名词。男人最害怕的就是患上早泄,因为这个疾病不仅让男性承受巨大的心理压力,而且还会使自己在妻子面前丢了面子。有不少男性听闻