def change_light_color(self): def color_changed(color): color = color.getRgb() color = list(color[:-1]) if color[0] == 0 and color[1] == 0 and color[2] == 0: return color[0] /= 255 color[1] /= 255 color[2] /= 255 self.glWidget.fig.lightColor = color self.glWidget.update() prev_color = self.glWidget.fig.lightColor color_dialog = QColorDialog() color_dialog.changeEvent = color_changed color_dialog.currentColorChanged = color_changed color_changed( color_dialog.getColor( QColor(int(prev_color[0] * 255), int(prev_color[1] * 255), int(prev_color[2] * 255), 255)))