c# winform UI + python底层的一点尝试

鉴于python做winform之类的UI比较弱。于是想结合C#的winform 和 python的底层开发(windows平台)。

尝试做了一个RSS阅读器。在这里:http://download.csdn.net/detail/lion_awake/8240713

主要从一些网站抓取rss,然后解析rss,并在界面上显示。

结构

这是一个c/s架构。

server端,用python编写,负责抓取rss并解析。

client端,从server端拿到数据然后显示。

client端和server端通过socket进行通讯。

掉进去过的坑

1. c# 正则表达式匹配中文的问题。

json_str = "\\u4e00"
Regex = new Regex("[\\u4e00-\\u9fa5‘]+")//不起作用
Regex = new Regex("[\\\\u4e00-\\\\u9fa5‘]+")//ok

c# \\转换为\的问题,前一篇帖子已经提过。

2. c# socket发送数据问题:

帖子这里:http://bbs.csdn.net/topics/390949473

总结了下,问题的根源在于,服务器端用python-twisted中的LineReceiver这个Protocol,也就是说发送消息以"\r\n"为结束符(windows上)

感受

  或许是对c#的语法不熟,相同的东西,用python实现可能只需要1~3h,用C#折腾了两天。主要是出了问题,google不好找答案,其次,很多东西底层调试不进去,最后问问c#同行,基本没有几个能够答个所以然。

或许为了他的界面而是用C#,但需要权衡下,你是否能够驾驭各种兼容问题以及时间成本。

  虽然python有很多优秀的底层,以及web的ui都不错,但对于desktop ui来说,有所欠缺,特别是游戏。这块短板的弥补,暂时木有神马好的方案。优先级排行:成熟的开源方案 > 成熟的闭源方案> 不咋成熟的开源方案 > 不咋成熟的闭源方案。

其次还要考虑技能的熟练程度。也许结合这个以后的优先级可能是:成熟的开源方案 > 不咋成熟的开源方案 >  成熟的闭源方案> 不咋成熟的闭源方案。

时间: 2024-11-03 23:56:56

c# winform UI + python底层的一点尝试的相关文章

开源分享:C# Winform UI类库,目前有窗体及TrackBar等几个控件

现在跟大家分享一个我原创的Winform UI方面的类库,该类库目前拥有GMForm窗体类,以及GMVScrollBar,GMHScrollBar,GMTrackBar,GMProgressBar,GMRollingBar共5个控件,下面先看看窗体及控件的效果图. 1. 类库实现的Chrome风格的多标签浏览器效果如下: 2. 运行时多主题切换示例 3. 控件运行效果 GMForm窗体类是通过拦截Windows消息,然后重写OnPaint()方法来实现的,控件则是直接继承Control类,用GD

提高PAAS安全性的一点尝试

云服务已经成为现代人生活的一部分.手机中的照片会自己主动同步到云中:你的邮件内容保存在云中.办公软件执行在云中:你的健康数据会实时上传到云中.你每天的生活轨迹消耗的卡路里也会上传到云中:云服务也会逐渐象交电费.交水费一样被大众接受,这是科技进步的必定. 云服务安全吗?这个被重复问过的问题,也被回答了非常多次. 我只作为一个软件project师,谈谈自己在安全方面的一点尝试. 供借鉴. 大的安全话题包含非常多个方面,数据可靠吗?数据是否被偷窥.篡改? 数据不丢的这个基本要求能够说已经非常好了,AW

关于Python学习的一点说明

关于Python学习的一点说明 我是用什么地方的资料来学习python的呢? 答案当然是鼎鼎大名的GitHub了. 5万多星推荐,100天让你从入门到精通,你值得拥有,点我进入查看 原文地址:https://www.cnblogs.com/alking1001/p/11437876.html

python学习的一点随想与展望

第一次看见这学期课表的时候,我心里真的有些惶恐.尤其是高级语言程序设计,数据库,spss这几科,更是让我一看就有些畏缩.坦白来说,虽然我自认为自己不算笨,但是大一大二的编程方面基础我是真的没有打好.C语言那一课也是似懂非懂才没有挂掉.虽然基础不好,我却还是想学好这一科.我的愿望很简单,就是想考个好成绩让爸爸妈妈开心. 第一次上课的时候到了很新颖的教室,感觉还是挺不错的.可是讲课讲起来的时候,我老毛病就又犯了.走神,听着听着课就不知道去想什么了,再回过神来的时候,老师已经不知道讲到哪里去了TAT所

python scrapy的一点杂谈

这几天为了做课程设计,想起之前学过python,所以想起要去做个爬虫,于是用上了scrapy框架,当然在这期间也了解了一下requests,但是还是没有scrapy方便,毕竟它没有处理cookie的机制,需要自己去手动处理,比较麻烦,下面我来先稍微讲讲自己对scrapy运行原理的理解: 如图我们可以看到这是scrapy的大致结构,scrapy的运行流程: 1.scrapy engine打开一个domain,并根据domain找到对应的处理这个domain的spider(spider中间件重要作用

python编码问题一点通

一.了解字符编码的知识储备 1. 文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失,因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上.在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已. 即:在没有点击保存时,我们所写的内容都是写入内存.注意这一点,很重要!!当我们点击保存,内容才被刷到硬盘. 上面做了

初学C#的一点尝试

这是我编的第一个C#程序,和老师上课讲的那个例子差不多,但是在实践过程中我也发现了一些问题.比如在这种情况下,设置前景色和背景色的语句是在”Hello World"前,所有字体的颜色都随之改变.如果这两句话在它后面呢?尝试的结果是这样的 是不是有点诡异?我的猜想是Console的前景色与背景色是自有属性,设置完之后输入的所有的字体的颜色都会被改变.结果证明确实如此... 只是一点小小的发现,后续的精彩敬请关注..

通过阅读python subprocess源码尝试实现非阻塞读取stdout以及非阻塞wait

http://blog.chinaunix.net/uid-23504396-id-4661783.html 执行subprocess的时候,执行不是问题最麻烦的是获取进程执行后的回显来确认是否正确执行,还不能阻塞还要获取进程执行后的返回状态确认进程是否正确结束,也不能阻塞 分开解决这个问题我们先解决第一个问题,获取回显 一般获取回显,代码都是如下写法 点击(此处)折叠或打开 sub_process = subprocess.Popen(command, stdin = subprocess.P

python初学者的一点感想

从课表上看到这门课的时候可以说是一脸懵,这是个什么玩意?对这门课完全没有任何认知,现在上课两周课,发现学习这门课的基础是c语言,其实心里还是很畏惧的,因为c语言学的太差了,自己也是有点小跟不上.但是好在老师比较和蔼可亲,恐惧心理也就没那么大了.感觉应该是比c语言简单一点,希望自己之后能对这门课有一个大致的掌握,基本程序都能熟练操作.然后有一个不成熟的小小的建议,感觉上机课老师要是能带着做一下然后我们再自己练习就好了.