如何查看PySide.QtCore.Qt.ItemFlag的值
2 个回答
1
我也想知道所有可用的值,所以我写了一个简单的Python3脚本,供有兴趣的人参考:
from PySide.QtCore import Qt
#0
flags = Qt.NoItemFlags
print('NoItemFlags = %s' % int(flags))
#1
flags = Qt.ItemIsSelectable
print('ItemIsSelectable = %s' % int(flags))
#2
flags = Qt.ItemIsEditable
print('ItemIsEditable = %s' % int(flags))
#4
flags = Qt.ItemIsDragEnabled
print('ItemIsDragEnabled = %s' % int(flags))
#8
flags = Qt.ItemIsDropEnabled
print('ItemIsDropEnabled = %s' % int(flags))
#16
flags = Qt.ItemIsUserCheckable
print('ItemIsUserCheckable = %s' % int(flags))
#32
flags = Qt.ItemIsEnabled
print('ItemIsEnabled = %s' % int(flags))
#64
flags = Qt.ItemIsTristate
print('ItemIsTristate = %s' % int(flags))
输出结果是这样的:
NoItemFlags = 0
ItemIsSelectable = 1
ItemIsEditable = 2
ItemIsDragEnabled = 4
ItemIsDropEnabled = 8
ItemIsUserCheckable = 16
ItemIsEnabled = 32
ItemIsTristate = 64
我在处理别人的代码时,发现里面硬编码了一个值33,这让我有点困惑。其实这个值只是表示“可以选择的项目”和“启用的项目”这两个选项在一行里都被打开了。这样写对将来的用户来说就不太清楚了。希望这能帮助到其他人。@Jason S,你的回答也很有帮助,感谢你的分享。
6
没关系,我搞定了,我可以直接把它转换成整数:
flags = Qt.ItemIsEditable
print 'ItemIsEditable = %s' % int(flags)
这样就会输出
ItemIsEditable = 2