I presume your original code was based on Qt4 if it was from 2012-3, and that you are trying to rebuild using Qt5. There were huge changes to the underlying implementation of Qt graphics between 4 and 5, even though the outward-facing UI had few changes. I agree with Christian - QColorDialog is a QDialog-based class, and generally dialogs are not designed to be embedded as child widgets in another QWidget- or QDialog-based parent. This is particularly true if the dialog is implemented as a native OS-dependent dialog and not one provided by Qt.Can that change over time?
You might try changing the Qt::WindowFlags for the QColorDialog after you create it (but before it is shown) to remove the Qt::Dialog bit from the flags. You could also try setting the QColorDialog::ColorDialogOption to QColorDialog::DontUseNativeDialog. Don't know if either of these will work, but worth a try.
And please, if you have learned anything about encapsulation and data hiding since 2012, rewrite your code so none of the UI variable are public and you use signals and slots to communicate changes in your dialog to the rest of your program.
Bookmarks