I'm writing a Python (using 3.8.2 version) app for my project. In the app I use PySide2 to create QTableWidget object called items_tableWidget. Here's the fragment of my code, which creates QTableWidgetItem objects, fills them with my data, makes them not editable by user and puts them into the table:
cell = QtWidgets.QTableWidgetItem()
cell.setData(Qt.DisplayRole, data)
cell.setFlags(cell.flags() & ~Qt.ItemIsEditable)
ui.items_tableWidget.setItem(row_number, column_number, cell)
I get this warning when running the code:
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)
I am a newbie to Python, but I think this warning doesn't make sense, because setFlags argument, as well as flags() return value and ItemIsEditable enum value all have defined types and operators in Qt namespace, so I am not performing an implict conversion. Am I right or I am missing something?
Thank you for your answers.