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. Python3玩转单链表——逆转单向链表pythonic版

    [本文出自天外归云的博客园] 链表是由节点构成的,一个指针代表一个方向,如果一个构成链表的节点都只包含一个指针,那么这个链表就是单向链表. 单向链表中的节点不光有代表方向的指针变量,也有值变量.所以我 ...

  2. MBCS与Unicode的转换

    一.绪 其实刚开始编程的时候我不太喜欢用Unicode编码,所以比较喜欢 VC6.0,即使使用VS2010,也会设置为未设置模式. 后来,没办法的接触了些Unicode的编程的东西,必须得研究字符集的 ...

  3. MyBatisBatchItemWriter Cannot change the ExecutorType when there is an existing transaction

    但凡使用mybatis,同时与spring集成使用时,接下来要说的这个问题是躲不了的.众所周知,mybatis的SqlSessionFactory在获取一个SqlSession时使用默认Executo ...

  4. 基于jQuery和CSS3超酷Material Design风格滑动菜单导航特效

    分享一款效果非常炫酷的谷歌 Material Design 风格jQuery和CSS3滑动选项卡特效.该选项卡特效集合了扁平风格设计和按钮点击波特效.是一款设计的非常不错的Material Desig ...

  5. laravel服务l队列资料整理

    Laravel 队列系列 —— 基于 Redis 实现任务队列的基本配置和使用 1.概述 在Web开发中,我们经常会遇到需要批量处理任务的场景,比如群发邮件.秒杀资格获取等,我们将这些耗时或者高并发的 ...

  6. 【微信小程序】tabBar的显示问题

    tabBar不显示 在app.json中配置了4个页面,在tabBar的list中随意写了两个页面,编译后发现不能显示tabBar. { "pages": [ "page ...

  7. c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件

    好久没写io操作了,手生了好多,为了防止自己老年痴呆,最简单实用的c++代码也push上来吧, 环境:mac,xcode(注意mac环境下Windows的函数不能用) 功能:打开一个文件目录,把所有文 ...

  8. python将dict中的unicode打印成中文

    import json a = {u'content': {u'address_detail': {u'province': u'\u5409\u6797\u7701', u'city': u'\u9 ...

  9. 【oneday_onepage】——The Secret Of Steve<2>

    Sales + Customers = Nothing Broken is the formula for corporate cyanide. Most big companies that die ...

  10. Linux 下安装 mysql

    1.    Mysql数据库的安装与初始化 1.1 Mysql安装 安装Mysql:   $ cd /usr/local/ //查询出已安装的mariadb $ rpm -qa|grep mariad ...