On macOS, if I create a QWidget with custom paintEvent(), the widget does not update unless the widget size is changed. This is a serious bug and a show stopper for me! Please check the included example code. When you click "Green" button, the widgets is supposed to turn green. But it only turns to green when you change the size of the window. Qt 5.10 and older version does not have this issue.