【发布时间】:2020-03-18 23:54:11
【问题描述】:
我正在为我的项目编写一个 Python(使用 3.8.2 版本)应用程序。在应用程序中,我使用 PySide2 创建名为 items_tableWidget 的 QTableWidget 对象。这是我的代码片段,它创建 QTableWidgetItem 对象,用我的数据填充它们,使用户无法编辑它们并将它们放入表中:
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() 返回值和 ItemIsEditable 枚举值都在 Qt 命名空间中定义了类型和运算符,所以我没有执行隐式转换。我是对的还是我遗漏了什么?
感谢您的回答。
【问题讨论】:
标签: python pyside2 deprecation-warning qtablewidgetitem