一半君的总结纸

听话只听一半君

PyQt 的 api v2

有时候在script最开头有sip.setapi(‘blah’, 2) ,这是说使用api version 2, 这样你的script可以尽量和PySide版本贴近,如果像改成pyside版的话,也许运气好的时候直接把import PyQt4换成PySide就行了

但是sip.setapi()只能在PyQt4 module被首次impport之前使用,如果是在Maya里用,在公司里一般会有大堆很久以前写的script,他们都是v1的,所以一般只好被迫用v1, 就算是自己用,难说你从网上下的一堆其他日常工具里也有不少v1的,所以还是没法无痛的使用v2阿

如果使用v2的话,某些代码的写法会简化,比如最常见的

sip.setapi('QString', 2)
sip.setapi('QVariant', 2)

使用过后下面所有用到QString的地方都可以用普通的python string,从QLineEdit上得到的string也不是QString(),总之凡是有QString出现的地方都变成了普通string,
所有QVariant()出现的地方都可以用None替换

试比较下面的区别

QAbstractListModel_eg1

参考:
Selecting Incompatible APIs
Guide to PyQt/PySide in Maya (Pt. 1)

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: