Skip to content

Commit 94e2888

Browse files
committed
fixed ClickSlider error sending values twice
1 parent c7be1fe commit 94e2888

File tree

5 files changed

+28
-32
lines changed

5 files changed

+28
-32
lines changed

Diff for: __pycache__/myutils.cpython-39.pyc

-89 Bytes
Binary file not shown.

Diff for: __pycache__/serialhelper.cpython-39.pyc

0 Bytes
Binary file not shown.

Diff for: hello.py

-2
This file was deleted.

Diff for: myutils.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
import random
33

44
def rgb_to_hex(rgb,maximize = False):
5-
6-
5+
76
if maximize:
87

98
# print(f"before maximize : {rgb}")
@@ -24,6 +23,7 @@ def createRandomRGB(maxC = 255):
2423

2524
def mapValue(x, in_min, in_max, out_min, out_max):
2625
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
26+
2727
def constrainValue(x,out_min,out_max):
2828
return min(max(out_min,x),out_max)
2929

Diff for: serialDimmerWidget.py

+26-28
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,12 @@ class ClickSlider(QSlider):
5353
def __init__(self, *args, **kwargs):
5454
super(ClickSlider, self).__init__(*args, **kwargs)
5555
def mousePressEvent(self, event):
56-
super(ClickSlider, self).mousePressEvent(event)
56+
5757
if event.button() == Qt.LeftButton:
5858
val = self.pixelPosToRangeValue(event.pos())
5959
self.setValue(val)
60+
else:
61+
super(ClickSlider, self).mousePressEvent(event)
6062

6163
def pixelPosToRangeValue(self, pos):
6264
opt = QStyleOptionSlider()
@@ -230,12 +232,12 @@ def __init__(self, rgbDimmer = 0):
230232
# self.color_btn.clicked.connect(self.set_color)
231233

232234

233-
self.color_dialog = ColorPickerWidget()
235+
self.color_picker = ColorPickerWidget()
234236

235-
self.color_dialog.currentColorChanged.connect(self.colorSelected)
237+
self.color_picker.currentColorChanged.connect(self.colorSelected)
236238

237239

238-
# self.color_dialog.colorSelected.connect(lambda: print("Color Changed"))
240+
# self.color_picker.colorSelected.connect(lambda: print("Color Changed"))
239241

240242

241243
self.temperature_slider = TemperatureSlider(Qt.Horizontal, self)
@@ -262,65 +264,61 @@ def __init__(self, rgbDimmer = 0):
262264
# left_column_lo.addWidget(self.hue_slider)
263265
# left_column_lo.addWidget(self.brighness_slider)
264266

265-
left_column_lo.addWidget(self.color_dialog)
267+
left_column_lo.addWidget(self.color_picker)
266268

267269
c = QColor(255,0,0)
268-
self.color_dialog.setCurrentColor(c)
270+
self.color_picker.setCurrentColor(c)
269271
self.colorSelected(c)
270272

273+
print(f"width is {self.width()}")
274+
self.setFixedWidth(self.color_picker.width()/2)
275+
271276
def on_button(self):
272277
self.dimmer.sendCommand(3)
273278

274279
def set_temperature(self, value):
275-
b = self.color_dialog.currentColor().value()
280+
b = self.color_picker.currentColor().value()
276281
k = Kelvin2RGB(value,math.ceil(mapValue(b,0.0,255.0,Kelvin2RGB.MIN_BRIGHTNESS,Kelvin2RGB.MAX_BRIGHTNESS)))
277-
self.color_dialog.blockSignals(True)
278-
self.color_dialog.setCurrentColor(QColor(k.red,k.green,k.blue))
279-
self.color_dialog.blockSignals(False)
282+
self.color_picker.blockSignals(True)
283+
self.color_picker.setCurrentColor(QColor(k.red,k.green,k.blue))
284+
self.color_picker.blockSignals(False)
280285
self.dimmer.setTemperature(value)
281286
self.brighness_slider.set_color(rgb_to_hex((k.red,k.green,k.blue),True))
282287

283288
def set_hue(self, value):
284-
b = self.color_dialog.currentColor().value()
289+
b = self.color_picker.currentColor().value()
285290
c = QColor.fromHsv(value,255,b)
286291
self.brighness_slider.set_color(rgb_to_hex((c.red(),c.green(),c.blue()),True))
287-
self.color_dialog.blockSignals(True)
288-
self.color_dialog.setCurrentColor(c)
289-
self.color_dialog.blockSignals(False)
292+
self.color_picker.blockSignals(True)
293+
self.color_picker.setCurrentColor(c)
294+
self.color_picker.blockSignals(False)
290295
self.dimmer.setHue(value)
291296

292297
def set_brightness(self, value):
293298

294299
if value > 0:
295-
c = self.color_dialog.currentColor()
300+
c = self.color_picker.currentColor()
296301
c.setHsv(c.hue(),c.saturation(),value)
297-
self.color_dialog.blockSignals(True)
298-
self.color_dialog.setCurrentColor(c)
299-
self.color_dialog.blockSignals(False)
302+
self.color_picker.blockSignals(True)
303+
self.color_picker.setCurrentColor(c)
304+
self.color_picker.blockSignals(False)
300305
self.dimmer.setBrightness(value)
301306

302-
# def set_color(self):
303-
# # color_dialog = QColorDialog()
304-
# self.color_dialog.show()
305-
# # self.color_dialog.currentColorChanged.connect(self.colorSelected)
306-
# # color = self.color_dialog.getColor()
307-
# # color = QColorDialog.getColor()
308-
309-
# # if color.isValid():
310-
# # self.dimmer.setRGB(color.red(),color.green(),color.blue())
311307

312308
def colorSelected(self,color):
313309
try:
314310
if color.isValid():
315311

316312
self.dimmer.setRGB(color.red(),color.green(),color.blue())
313+
317314
self.brighness_slider.blockSignals(True)
318315
self.hue_slider.blockSignals(True)
319316

320317
self.brighness_slider.setValue(color.value())
321-
self.brighness_slider.set_color(rgb_to_hex((color.red(),color.green(),color.blue()),True))
318+
322319
if color.hue() > -1 :
323320
self.hue_slider.setValue(color.hue())
321+
self.brighness_slider.set_color(rgb_to_hex((color.red(),color.green(),color.blue()),True))
324322

325323
self.brighness_slider.blockSignals(False)
326324
self.hue_slider.blockSignals(False)

0 commit comments

Comments
 (0)