I recently switched to mac and my pyqt5 application isnt running like it should. I have a table set up with checkboxes in the rows. On a pc, when you click on a checkbox it first updates the row, then hits the checkbox. on mac it just hits the checkbox without triggering a row change. I'm cant even figure out what row i'm on to make any changes.
here is basic code that would work on a pc, but always outputs "0, 3" on a mac:
    for i in range(4):
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(i, item)
        item.setText(_translate("MainWindow", str(i)))
        self.tableWidget.setCellWidget(i, 0, QtWidgets.QCheckBox())
        self.tableWidget.cellWidget(i, 0).clicked.connect(lambda: print(self.tableWidget.currentRow(), i))
Here is the full file if you would like to test this yourself:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(195, 101, 371, 321))
        self.tableWidget.setObjectName("tableWidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.tableWidget.setColumnCount(1)
        self.tableWidget.setRowCount(4)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, item)
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "Value"))
        for i in range(4):
            item = QtWidgets.QTableWidgetItem()
            self.tableWidget.setVerticalHeaderItem(i, item)
            item.setText(_translate("MainWindow", str(i)))
            self.tableWidget.setCellWidget(i, 0, QtWidgets.QCheckBox())
            self.tableWidget.cellWidget(i, 0).clicked.connect(lambda: print(self.tableWidget.currentRow(), i))
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
 
    