Python 中的弃用警告在这里有意义吗?

Deprecation warning in Python, does it make sense here?

我正在为我的项目编写一个 Python(使用 3.8.2 版本)应用程序。在应用程序中,我使用 PySide2 创建名为 items_tableWidgetQTableWidget 对象。这是我的代码片段,它创建 QTableWidgetItem 对象,用我的数据填充它们,使它们不被用户编辑 table 并将它们放入 table:

cell = QtWidgets.QTableWidgetItem()
cell.setData(Qt.DisplayRole, data)
cell.setFlags(cell.flags() & ~Qt.ItemIsEditable)
ui.items_tableWidget.setItem(row_number, column_number, cell)

我在 运行 代码时收到此警告:

C:\Users\Deronek\Documents\Qt\SkyblockBazaar\main.py:346: DeprecationWarning: an integer is required (got type PySide2.QtCore.Qt.ItemFlags).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  cell.setFlags(cell.flags() & ~Qt.ItemIsEditable)

我是 Python 的新手,但我认为这个警告没有意义,因为 setFlags 参数,以及 flags () return 值和 ItemIsEditable 枚举值都在 Qt 命名空间中定义了类型和运算符,所以我没有执行隐式转换.我是对的还是我遗漏了什么?

感谢您的回答。

在Python 3.8中有the following change:

Constructors of int, float and complex will now use the __index__() special method, if available and the corresponding method __int__(), __float__() or __complex__() is not available. (Contributed by Serhiy Storchaka in bpo-20092.)

PySide2 使用整数映射枚举,已经被报道过PYSIDE-1226。正如他们在下一个版本的评论中指出的那样,将不再发布该警告。

一般来说,您应该不会遇到问题,只会收到烦人的警告。