PyQt+MySQLdb+PyCrypto(+Pickle)的梗……

这是我的一个课设,用到的东西如题所示。虽然开发时间只有几天,代码也只有几百行,不过过程是曲折的。让我对PyQt有了更多的认识,对MySQLdb的傲娇更加无语,对PyCrypto只能投以漠视的眼光。

作为一个新手,真心想感谢各位写博客的前辈们,感谢Google,强烈鄙视兔子。再感谢一下我的最爱——TDGBLS

1.Qt4生成的ui文件,用pyuic4 -o **.py **.ui 即可。

2.在插入数据的时候,在最后必须要conn.commit()。否则插入不会成功。

3.对于QString对unicode等之间的转换,用以下代码即可。unicode2QString呢?注意看看生成的.py文件吧。

1 def p2q(pstr):
2     return unicode(pstr,'gb2312','ignore')

4.PyCrypto生成的密文,用type()是看不出的,也不属于任何编码,只是byte string而已,所以python一定会跳错。所以在建表的时候,建议对密文所在的列使用BLOB属性。在这里一切的关键不在于把%s改成%r,也不在于用MySQL.escape_string()(对二进制数据不要用这个)。也不要妄图用Pickle,它生是python的人,死是python的死人,所以对字典元组列表什么的转译,它很在行,遇到了二进制数据,它一定会因为EOF而死给你看……其实很简单,就把execute(query%data)的格式改成execute(query,data)就好……就因为这我查了两个晚上,感谢 http://blog.csdn.net/daineng/article/details/2119803

posted @ 2012-12-23 22:52  林檎  阅读(815)  评论(0编辑  收藏  举报