Pysciter是一个结合HTMLPython编写桌面软件个三方库

注:无论是32位还是64位电脑,建议安装32位的sciter,这样写出来的软件可以在win32和win64电脑上都可以运行(前提python安装了32位的),下面介绍32位sciter安装方法(32位电脑和64位电脑安装方式有所区别,会分别说明)。

一:sciter-sdk相关配置:

1.下载 sciter-sdk中32位的 sciter.dll 文件

https://github.com/c-smile/sciter-sdk/blob/master/bin/32/sciter.dll

2. 注册sciter.dll

32位系统电脑:把sciter.dll复制到C:\Windows\System32目录,打开DOS窗口输入命令(管理员身份运行)

regsvr32 /s sciter.dll

64位系统电脑:把sciter.dll复制到C:\Windows\SysWOW64目录,然后在C:\Windows\SysWOW64目录中找到cmd.exe以管理员身份运行,然后输入命令:

regsvr32 /s sciter.dll

如:

3. 下载 pysciter 并解压到D盘

https://codeload.github.com/sciter-sdk/pysciter/zip/master

4. 在pysciter-master目录中打开命令行,输入命令

python setup.py install

此时就会将pysciter安装到python第三方安装包的目录下,我的是 D:\Python\Python36\Lib\site-packages\PySciter-0.4.25-py3.6.egg

5. 修改pysciter源码

用编辑器打开 D:\Python\Python36\Lib\site-packages\PySciter-0.4.25-py3.6.egg\sciter\capi\sctypes.py

第101行把SCITER_DLL_NAME = "sciter" 修改为 注册sciter.dll所在位置(去掉后缀):

32位:SCITER_DLL_NAME = "C:\Windows\System32\sciter"

64位:SCITER_DLL_NAME = "C:\Windows\SysWOW64\sciter"

6. 运行实例查看效果

python pysciter.py

出现上图表示安装正常

7. python的idea中使用sciter,包括python中和html交互,示例如下:

import sciter
import time
import threading def run(self):
while 1:
time.sleep(2)
# 调用html中方法
self.eval_script('hello("42");') class Frame(sciter.Window):
def __init__(self):
super().__init__(ismain=True, uni_theme=True)
pass @sciter.script
def PythonCall(self, arg):
print("参数:", str(arg))
return "通信成功了,返回值:" + str(arg) + ' -_-' @sciter.script
def inti(self):
# 启动独立的线程
t = threading.Thread(target=run, args=(self,))
t.start() if __name__ == '__main__':
import os
htm = os.path.join(os.path.dirname(__file__), 'Gui/pysciter.html') #pysciter.html文件编码格式必须 Unix(LF) UTF-8-BOM 以防止中文乱码
frame = Frame()
frame.load_file(htm)
frame.run_app()

Gui/pysciter.html(pysciter.html文件编码格式必须 Unix(LF) UTF-8-BOM 以防止中文乱码):

<html window-icon="icon.png">
<head>
<title>PySciter示例</title>
<style>
html {
background: radial-gradient(75% 75%, circle farthest-side, white, orange, rgb(0,0,204));
color:#fff;
}
html:rtl {
mapping: left-to-right(background);
}
</style>
<script type="text/tiscript">
//ti调用py方法
view.cc = "haha哈";
$(button#ti2py).on("click", function() {
var answer = view.PythonCall(view.cc);
$(body).$append(<h1#test>{answer}</h1>);
}) //py调用ti方法
function hello(who) {
$(body).$append(<h1#test>{who}</h1>);
}
view.inti() //输出语句
//stdout.println("2 + 3 = ");
</script>
</head>
<body>
<h1>Pythonic Sciter Application</h1>
<button #ti2py>ti调用py方法</button>
</body>
</html>

python的sciter库Pysciter安装教程(win32 + win64)的更多相关文章

  1. python—第三库的安装方法

    Windows系统下安装第三方Python库的三种方法: 1.使用easy_install命令安装 一般在安装完Python后再C:\Python27\Scripts 目录下有 easy_instal ...

  2. Python和Anoconda和Pycharm安装教程

    简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. ...

  3. 新手学习Python第三方包库pip安装失败总结

    这篇文章纯原创,是之前自己学习使用pyhton时遇到的问题,故在此记录一下. 问题与需求:用python下载第三方库或包的时候出错怎么办? 方法有一下三种,可以解决大部分的问题. 1.在cmd命令控制 ...

  4. (Windows)Python第三方库手动安装教程(以lxml库为例)

    案例前提:已安装Python 已安装pip 1.进入官网https://www.lfd.uci.edu/~gohlke/pythonlibs/,搜索lxml库,下载到本地(放到Python目录下的Sc ...

  5. python 中 dlib库的安装

    安装 dlib 库的时候需要用到 CMake 进行本地编译,而Cmake又是基于Visual Studio运行的,我在装这个库的时候,各种找不到教程,就想着分享一下自己的经验. 32位 python3 ...

  6. python深度学习库keras——安装

    TensorFlow安装keras需要在TensorFlow之上才能运行.所以这里安装TensorFlow.TensorFlow需要vs2015环境,需要wein64位环境,所以32位的小伙伴需要升级 ...

  7. python 第三方扩展库的安装

    主要就是采用 easy_install 和pip安装,一定要把这两个东西安装好.http://peak.telecommunity.com/DevCenter/EasyInstall下载ez_setu ...

  8. Python中第三方库的安装

    网上的帖子挺多的,教你如何安装,安装第三方工具库的方法总共分为三类:Dos系统下pip命令:安装包下载安装:IDE集成环境下安装(Pycharm,Spyder……) http://www.jiansh ...

  9. python爬虫常用库和安装 -- windows7环境

    1:urllib  python自带 2:re      python自带 3:requests     pip install requests 4:selenium      需要依赖chrome ...

随机推荐

  1. idea Error:(1, 10) java: 需要class, interface或enum, 未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533

    1.未结束的字符串文字,Error:(55, 136) java: 非法字符: \65533  这些乱七吧八遭的错误如果很多的话 , 尝试 重新修改下生成目录 修改下语言等级 上述方法都不行 ,还报错 ...

  2. 从事务隔离级别谈到Hibernate乐观锁,悲观锁

    数据库的事务,是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源.通过将一组相关操作组合为一个要么全部成功要么全部失败的单 ...

  3. uboot之第一阶段

    U-boot的启动一般分为两个阶段,现在我们先将第一阶段. 在此之前,我们先了解一下uboot的目录结构,各个文件夹是什么作用. 如果连各个文件夹是干什么的都不清楚就开始移植剪裁,势必会和我刚拿到开发 ...

  4. Android 自动化测试

    Python +Android +uiautomator test  在init中定义的方法 uiautomator     该模块是android的一个python包装uiautomator测试框架 ...

  5. python下使用epoll

    Reference: http://blog.csdn.net/hehe123456ZXC/article/details/52526670 因为最近想学习如何用epoll写服务器, 于是找到了一篇介 ...

  6. ios 6.1中 Release问题

    程序中有如下代码: UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Something was done." m ...

  7. Maven 本地打war包

    Maven是个很好用的管理工具,不经能够管理jar,还能实现打包. 这里讲解Maven 本地打包,服务器打包,可以全部交给jenkins去完成的. 用Maven打包,先在eclipse装Maven插件 ...

  8. [转]Oracle trunc()函数的用法

    原文地址:http://www.cnblogs.com/gengaixue/archive/2012/11/21/2781037.html 1.TRUNC(for dates) TRUNC函数为指定元 ...

  9. where子查询

    限定查询(WHERE子句) 之前的查询是将一张表的全部记录查询出来,那么现在如果希望可以根据指定的条件查询的话,则必须指定限定查询. 格式: 的雇员的信息 l  使用“<>”完成 l  S ...

  10. stm32 r8025

    uint8_t RX8025_BCD2DEC(uint8_t val) {     uint8_t i;       i = val&0x0f;           //按位与,i得到低四位数 ...