HTML+CSS+python+qtwebkit打造跨平台桌面应用(一)
2015-07-12 14:12
661 查看
目录
引言与环境配置数据交互问题(这应该是最先想到,html使用js控制的,如何跟python交互数据呢)
文件编码问题,为了国际化、通用化,要用unicode否则汉字不能正常显示
界面问题,具体如何制作界面,如何实现无边框等
框架问题,有没有更通用性的框架,比如将其包装成MVC模式
引言
好的GUI能为程序增光添彩,但是设计出好的GUI并不是一件容易的事,一些大公司往往都有自己的GUI设计团队和定制的GUI解决方法,那么小公司或者个人呢?有没有廉价的、易学、通用的解决方案呢?大家可能首先想到的是MFC、WPF、C#等IDE自带的框架和控件库,也有人会说用wxWidget、QT等免费的第三方控件,而我认为HTML+CSS才是最通用、最低成本的解决方案。我们的编程环境是GUI部分用qtwebkit,程序用python主要是为了快速开发。
简单说一下HTML+CSS的优点
HTML+CSS是一套标准,注意是标准,不是哪个公司自己搞出来的,而是通用的,无论计算机如何发展,这套标准永远不会被淘汰(否则全世界的网站都要重新设计美工了),其实现在很多以前的框架都已经或者即将被淘汰,举例来说,比如微软吧,首先它的MFC早已经过时了,而WPF也即将被放弃(是微软自己放弃的,因为他又开发了新的东西,微软一直都是这么坑),所以我们学知识、用工具,要考虑到通用性和未来,没有人会愿意记住即将被淘汰的知识,然后又不得不重新学起。
HTML5+CSS3具有强大的表现力。
HTML+CSS是跨平台的,另外python和qt(qtwebkit)都是跨平台的,所以我们的程序也是跨平台的。
顺便提一下,好像现在也有不少用webkit做桌面级应用程序的框架,Inter开发了比较火的框架叫Node-Webkit,软件Wunderlist使用的一个开源的框架叫TideSDK(2012年发布的,好像好久没维护了,一直是beta版),国外还有收费的叫TideKit,还有好多吧。对于前两个我都尝试使用过,个人觉得那些被封装的太多,不靠谱(作为C++程序员,都力求知根知底),还有一点就是他们用Js写大部分逻辑,所以你的源码是暴露的,另外Js的执行效率也不得不考虑。
环境配置
安装环境的配置python2.7(当然也可是3.4) 下载
pyqt 下载
eclipse 下载 (需配置python的环境 baidu上很多)
注意区分32位和64位的,安装时要对应
实现:HelloWorld
[code lang="c"]from PyQt4 import QtGui, QtWebKit
class myWindow(QtWebKit.QWebView):
def __init__(self, parent=None):
super(myWindow, self).__init__(parent)
self.resize(400, 200)
self.setHtml("</pre>
<h1>QtWebKit + Hello Python</h1>
<pre>")
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
main = myWindow()
main.show()
sys.exit(app.exec_())
[/code]
![](http://lonelysworkshop-wordpress.stor.sinaapp.com/uploads/2015/05/Unnamed.png)
查看原文:http://blog.wxameng.com/cross-platform-app-with-html-css-python-qt/
相关文章推荐
- HTML+CSS+python+qtwebkit打造跨平台桌面应用(二)
- HTML+CSS+python+qtwebkit打造跨平台桌面应用(三)
- Python3.x爬虫教程:爬网页、爬图片、自动登录
- python IDE
- pandas安装过程中提示unable to find vcvarsall.bat的解决方法
- 简单上手Python中装饰器的使用
- 利用python3 requests和BeautifulSoup4抓取百度贴吧研究生录取通知书并展示
- nltk在python中的安装,以及nltk的data库
- Python 类的继承
- python学习笔记——‘is’和‘==’的区别
- NAO机器人系统下模块生成和python模块调用
- Python爬虫初步
- python while循环控制
- Python绘制CPU曲线图
- Python 有关文件的操作示例
- python urllib库
- 慕课网python基础学习教案(变量和数据类型)
- Python pypinyin、jieba模块
- Python学习资源
- 简单上手Python中装饰器的使用