置顶随笔

摘要: 近期正在学习QT。用Python很久了,QT入门中。PySide做的太棒了。代码不需要修改直接可以运行在Nokia N9上。本代码的C++版本在http://developer.qt.nokia.com/doc/qt-4.8/widgets-imageviewer.html目的是学习不是为了实现一个软件,所以做了不少的简化。QPixmap和QImage都能显示图片,可还是用QImage读取,放QPixmap显示,我查了资料 http://www.developer.nokia.com/C ... 8%E8%A7%A3%E6%9E%90总结下来QPixmap依赖于硬件,性能更好消耗资源,QIma阅读全文
posted @ 2012-01-27 21:30 源姜 阅读(14) 评论(0) 编辑

2012年1月28日

网上找到的都是rcc的使用方法,对于PySide-rcc介绍较少,经过对rcc和pyside-rcc试验和整理处使用的方法,形成文字,技术备档。

Resource Collection Files (.qrc)
应用程序关联的应用程序由 .qrc 文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。
 
1.创建一个qrc 文件:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
     <file>images/cut.png</file>
</qresource>
</RCC>
2.windows下需要设置系统path里加上C:\Python27\Lib\site-packages\PySide目录,这样才能使用pyside-rcc命令(Resource Compiler for PySide)
3.pyside-rcc myresource.qrc -o myresource_rc.py
4.引用myresource_rc.py
在程序中把原来引用文件的地方更换为 :/cut-img.png ,如果没有指定file alias可以使用:/images/cut.png调用
5.完成
 
PS:
文件里使用的路径是 .qrc 文件所在目录的相对路径。注意,内部使用的资源文件必须位于 .qrc 文件所在目录或者其子目录下。
资源数据也能被编译进二进制文件中,因此应用程序代码可以立即访问;也可以创建一个二进制资源,稍后在程序中登记了资源体系的代码中指定。
缺省时,程序可以用资源在源码树中的名称加一个 :/ 前缀来访问它。例如,在程序的源码树中是 images/cut.png 的文件可以通过 :/images/cut.png 来访问。但也可以用 file 标签中的 alias 属性来指定:
<file alias="cut-img.png">images/cut.png</file>
<qresource prefix="/myresources">
<file alias="cut-img.png">images/cut.png</file>
</qresource>

调用是使用 :/myresources/cut-img.png 调用。

PS:如有需要多国语言是。这可以在 qresource 标签的 lang 属性中指定一个合适的本地化字串来实现。例如:
<qresource>
     <file>cut.jpg</file>
</qresource>
<qresource lang="fr">
     <file alias="cut.jpg">cut_fr.jpg</file>
</qresource>
如果用户的本地化设置是 French (也就是说,QLocale::system().name() returns "fr_FR"),:/cut.jpg 就会引用 cut_fr.jpg 图像。对于其他本地化设置,仍然用 cut.jpg 。
 

 

posted @ 2012-01-28 20:40 源姜 阅读(7) 评论(0) 编辑

2012年1月27日

近期正在学习QT。用Python很久了,QT入门中。PySide做的太棒了。代码不需要修改直接可以运行在Nokia N9上。
本代码的C++版本在http://developer.qt.nokia.com/doc/qt-4.8/widgets-imageviewer.html
目的是学习不是为了实现一个软件,所以做了不少的简化。
QPixmap和QImage都能显示图片,可还是用QImage读取,放QPixmap显示,我查了资料 http://www.developer.nokia.com/C ... 8%E8%A7%A3%E6%9E%90
总结下来QPixmap依赖于硬件,性能更好消耗资源,QImage不依赖于硬件用来预先处理图片后方QPixmap显示更加速度。
以下为源码。
ps:自己写的其他QT程序放进N9,桌面图标啥的没问题,但是不能滑动退出,也不能竖屏,只能横屏,请大侠指点一下。
运行效果
ImageViewer
#coding=utf8
import sys

__author__ = 'jy@cjlu.edu.cn'
from PySide.QtCore import *
from PySide.QtGui import *
class ImageViewer(QMainWindow):
    def __init__(self,parent=None):
        """

        """
        super(ImageViewer,self).__init__(parent)
        self.imageLabel=QLabel()
        self.imageLabel.setBackgroundRole(QPalette.Base)
        self.imageLabel.setSizePolicy(QSizePolicy.Ignored,QSizePolicy.Ignored)
#        是否变换比率
        self.imageLabel.setScaledContents(True)
        self.imageLabel.resize(500,400)
        self.scrollArea=QScrollArea()
        self.scrollArea.setBackgroundRole(QPalette.Dark)
        self.scrollArea.setWidget(self.imageLabel)
        self.setCentralWidget(self.scrollArea)
        self.createActions()
        self.createMenus()

        self.setWindowTitle("Image Viewer")
        self.resize(500,400)
    def __open(self):
        filename=QFileDialog.getOpenFileName(None,"OpenFile",QDir.currentPath())[0]
        if filename:
            self.image=QImage(filename)
            if not self.image:
                QMessageBox.information(None,"Error","Cannot load ")
            else:
                self.imageLabel.setPixmap(QPixmap.fromImage(self.image))
                self.imageLabel.adjustSize()
                self.scrollArea.setWidgetResizable(True)
    def createActions(self):
        self.openAct=QAction("&Open...",None)
        self.openAct.setShortcut("Ctrl+O")
        self.openAct.triggered.connect(self.__open)

        self.closeAct=QAction("&Close...",None)
        self.closeAct.setShortcut("Ctrl+Q")
        self.closeAct.triggered.connect(self.close)

        pass
    def createMenus(self):
        self.fileMenu=QMenu("&File",self)
        self.fileMenu.addAction(self.openAct)
        self.fileMenu.addAction(self.closeAct)
        self.mb=self.menuBar()
        self.mb.addMenu(self.fileMenu)
        pass

if __name__=="__main__":
    app=QApplication(sys.argv)
    fm=ImageViewer()
    fm.show()
#全屏使用下句
#    fm.showFullScreen()
    app.exec_()

posted @ 2012-01-27 21:30 源姜 阅读(14) 评论(0) 编辑

2011年8月23日

你有python安装MySQLdb的问题吗,我有,经历了,近两天的纠结,真是把baidu都百了个遍,仍然不能解决mac os x 10.6.8下python 2.6.1里面安装个MySQLdb。

windows下修改几处代码就能用了,ubuntu下直接easy_install就能用。只有mac os 多灾多难。

神仙知道我为这个事花了多少工夫。

最后的解决是安装 active python

真的兄弟们别纠结了,用active python ,用pypm install MySQLdb,你会发现一切如windows里安装个盗版一样安宁。

我去。怎么没人告诉我,现在我来告诉你。

用active python,用pypm 就这么简单。

posted @ 2011-08-23 17:28 源姜 阅读(59) 评论(0) 编辑

2011年7月22日

百家姓网上都能查到,但整理成适合源码使用的数组也花了我几分钟时间。还为此专门写了一面python代码来对齐数据。

帖出来以备后用。

#共计整理了480个姓,有些我从来都没听说过

FISRT_NAME_DATA=(
    '赵','钱','孙','李','周','吴','郑','王','冯','陈',
    '褚','卫','蒋','沈','韩','杨','朱','秦','尤','许',
    '何','吕','施','张','孔','曹','严','华','金','魏',
    '陶','姜','戚','谢','邹','喻','柏','水','窦','章',
    '云','苏','潘','葛','奚','范','彭','郎','鲁','韦',
    '昌','马','苗','凤','花','方','俞','任','袁','柳',
    '酆','鲍','史','唐','费','廉','岑','薛','雷','贺',
    '倪','汤','滕','殷','罗','毕','郝','邬','安','常',
    '乐','于','时','傅','皮','卞','齐','康','伍','余',
    '元','卜','顾','孟','平','黄','和','穆','萧','尹',
    '姚','邵','湛','汪','祁','毛','禹','狄','米','贝',
    '明','臧','计','伏','成','戴','谈','宋','茅','庞',
    '熊','纪','舒','屈','项','祝','董','粱','杜','阮',
    '蓝','闵','席','季','麻','强','贾','路','娄','危',
    '江','童','颜','郭','梅','盛','林','刁','钟','徐',
    '邱','骆','高','夏','蔡','田','樊','胡','凌','霍',
    '虞','万','支','柯','咎','管','卢','莫','经','房',
    '裘','缪','干','解','应','宗','宣','丁','贲','邓',
    '郁','单','杭','洪','包','诸','左','石','崔','吉',
    '钮','龚','程','嵇','邢','滑','裴','陆','荣','翁',
    '荀','羊','於','惠','甄','麴','加','封','芮','羿',
    '储','汲','邴','糜','松','井','段','富','巫','乌',
    '焦','巴','弓','牧','隗','山','谷','车','侯','宓',
    '蓬','全','郗','班','仰','秋','仲','伊','宫','宁',
    '仇','栾','暴','甘','钭','厉','戎','祖','武','符',
    '刘','景','詹','束','龙','叶','幸','司','韶','郜',
    '黎','蓟','薄','印','宿','白','怀','蒲','台','从',
    '鄂','索','咸','籍','赖','卓','蔺','屠','胥','能',
    '苍','双','闻','莘','党','翟','谭','贡','劳','逄',
    '姬','申','扶','堵','冉','宰','郦','雍','郤','璩',
    '桑','桂','濮','牛','寿','通','边','扈','燕','冀',
    '郏','浦','尚','农','温','别','庄','晏','柴','瞿',
    '阎','充','慕','连','茹','习','宦','艾','鱼','容',
    '向','古','易','慎','戈','廖','庚','终','暨','居',
    '衡','步','都','耿','满','弘','匡','国','文','寇',
    '广','禄','阙','东','殴','殳','沃','利','蔚','越',
    '夔','隆','师','巩','厍','聂','晁','勾','敖','融',
    '冷','訾','辛','阚','那','简','饶','空','曾','毋',
    '沙','乜','养','鞠','须','丰','巢','关','蒯','相',
    '查','后','荆','红','游','竺','权','逯','盖','益',
    '桓','公','万','俟','司','马','上官','欧阳','夏侯','诸葛',
    '闻人','东方','赫连','皇甫','尉迟','公羊','澹台','公冶','宗政','濮阳',
    '淳于','仲孙','太叔','申屠','公孙','乐正','轩辕','令狐','钟离','闾丘',
    '长孙','慕容','鲜于','宇文','司徒','司空','亓官','司寇','仉督','子车',
    '颛孙','端木','巫马','公西','漆雕','乐正','壤驷','公良','拓拔','夹谷',
    '宰父','谷粱','晋楚','闫法','汝鄢','涂钦','段干','百里','东郭','南门',
    '呼延','妫海','羊舌','微生','岳帅','缑亢','况後','有琴','梁丘','左丘',
    '东门','西门','商牟','佘佴','伯赏','南宫','墨哈','谯笪','年爱','阳佟'
)

posted @ 2011-07-22 20:19 源姜 阅读(23) 评论(0) 编辑

2011年7月18日

近期项目中应用到python访问mysql数据库,配置过程中有些麻烦和意外,做一个技术备档,方便自己和有相同问题的人参考。

软件环境:

python 2.6.6

MySQL-Python 1.2.2

windows xp 或win7

问题:

1、找不到指定模块时 dll

2、DeprecationWarning: the sets module is deprecated 

from sets import ImmutableSet 

解决:

复制DLL到指定目录,并修订MySQL-Python的源码。

为了快速配置,可下载附件文件,参照使用说明配置。

以下为说明文件内容:

==================================

win平台下配置PythonMysql的简单方法

==================================

1、解压MySQL-python-1.2.2.win32-py2.6.rar

2、运行MySQL-python-1.2.2.win32-py2.6.exe完成MySQL-python1.2.2版本的安装

3、复制lib目录到python 2.6的安装目录中,覆盖原lib目录

4、根据实际情况修订testmysql.py代码,运行测试连接是否正常

==================================

补充:对于MySQL-python 1.2.2源码的修订说明

==================================

找到Python26\lib\site-packages\MySQLdb下的__init__.py文件

1、在文件中 "__init__", 注释掉:

from sets import ImmutableSet

class DBAPISet(ImmutableSet):

新增:

class DBAPISet(frozenset):

2、在文件中"converters.py", 注释掉  from sets import BaseSet, Set 这一句话。

3、在文件中"converters.py", 修改 "Set" 成为 "set" ( 只有两个地方需要修改):

大概 line 48: return Set([ i for i in s.split(',') if i ])---->变成-----> return set([ i for i in s.split(',') if i ])

大概 line 128: Set: Set2Str, ----> set: Set2Str

复制的lib目录是将需要的dll及源码均配置安后的结果。可直接覆盖使用。

===================================================================
没有创新,以上问题的解决均来自互联网。整理一下方便自己和大家。
点击下载快速配置
posted @ 2011-07-18 20:27 源姜 阅读(186) 评论(0) 编辑

2010年3月18日

摘要: 问题: 需要在wince5.0下实现图形化界面,用于功能导航,用过GPS导航就知道了,类似的界面。众所周知gif,PNG等图片,都是可以实现透明背景的,在win下这应该不是个问题。但在ce5.0下,无论是透明背景的ICON、PNG、GIF都无法简单实现透明背景,alpha通道会丢失。网上搜索了些资料,当然也有办法解决,大家可以查一下,但性能较低。最终按微软SDK自带的一个计算器的源码思路解决了透明...阅读全文
posted @ 2010-03-18 16:27 源姜 阅读(1769) 评论(4) 编辑

2010年1月15日

摘要: 在经历了多个项目的开发后,某天开始,我发现自己很少回顾自已的做法是否正确,只一味追赶概念和进度。于是认真列了一个以下几项1、.net 2.0 2、nhibernate3、NVeloctiy4、SQL Server20005、MemCached6、FIFO以上这些是我做项目的4件主要技术内容1、选择.net2.0 是因为nhibernate现在还不能运行于.net 2.0以上的版本中,而我又特别需要...阅读全文
posted @ 2010-01-15 14:52 源姜 阅读(315) 评论(0) 编辑

2009年12月14日

摘要: JS获取屏幕,浏览器,网页高度宽度网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrol...阅读全文
posted @ 2009-12-14 14:16 源姜 阅读(16) 评论(0) 编辑

2009年3月19日

摘要: 目标:以C#解析一串类似[{},{},{}]承载着数组数据的json字符串。将其反序列化为一个对象列表运行环境:NUnit2.4 C# .net2.0代码:[代码]反序列化后的对象列表为li对象。输出反序列化后li对象中包含的对象个数用于核对。Bingo!:)阅读全文
posted @ 2009-03-19 23:00 源姜 阅读(3021) 评论(2) 编辑

2008年11月29日

摘要: 分页,是WEB开发中面对的最常见的编程,实现方法多种多样。我也不来评论这些方法的好坏。但我总感觉它们太复杂,不够清晰不够简单。我十分欣赏PHP中一个Pager.php分页类的算法。http://www.phpclasses.org/browse/file/288.html,作者不详。也在不同的项目中把这种思想转换成不同语言的分页类,你不妨也试试。这种算法的思路是这样的:1、把分页后的数据抽象为一个...阅读全文
posted @ 2008-11-29 00:06 源姜 阅读(4614) 评论(57) 编辑

导航

公告

昵称:源姜
园龄:3年3个月
粉丝:4
关注:0
<2012年2月>
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

统计

搜索

 

常用链接

我的标签

随笔档案

文章分类

相册

最新评论

阅读排行榜

评论排行榜

推荐排行榜