答案 0 :(得分:4)
没关系,我想通了,我可以直接转换为int:
flags = Qt.ItemIsEditable
print 'ItemIsEditable = %s' % int(flags)
打印出来
ItemIsEditable = 2
答案 1 :(得分:0)
我也有兴趣了解所有可用的值,所以我在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硬编码,这让我很困惑。但它只是意味着ItemIsSelectable和ItemIsEnabled都在一行中切换。遗憾的是,未来的用户不太清楚。也许这对其他人也有帮助。 @Jason S你的回答也很有帮助 - 感谢你发帖。