Python中的弃用警告,在这里有意义吗?
我正在为我的项目编写一个Python(使用3.8.2版本)应用程序。在应用程序中,我使用PySide2创建名为items\u tableWidget的QTableWidget对象。下面是我的代码片段,它创建QTableWidgetItem对象,用我的数据填充它们,使它们不可由用户编辑,并将它们放入表中:Python中的弃用警告,在这里有意义吗?,python,pyside2,deprecation-warning,qtablewidgetitem,Python,Pyside2,Deprecation Warning,Qtablewidgetitem,我正在为我的项目编写一个Python(使用3.8.2版本)应用程序。在应用程序中,我使用PySide2创建名为items\u tableWidget的QTableWidget对象。下面是我的代码片段,它创建QTableWidgetItem对象,用我的数据填充它们,使它们不可由用户编辑,并将它们放入表中: cell = QtWidgets.QTableWidgetItem() cell.setData(Qt.DisplayRole, data) cell.setFlags(cell.flags()
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 3.8中有: int、float和complex的构造函数现在将使用 特殊方法(如果可用)和相应的方法, __浮点数()或uuuuuuuuuuuuuuuuuu()不可用。(由Serhiy Storchaka在bpo-20092中提供。) PySide2使用ints映射枚举,并且已经报告过了。正如他们在下一版本的评论中指出的那样,该警告将不再发布 一般来说,你不应该有问题,只是得到了恼人的警告