Skip to content

Commit

Permalink
v1 connection between gesture control and mock up
Browse files Browse the repository at this point in the history
  • Loading branch information
Zarnack committed Jan 26, 2022
1 parent 0118666 commit bed442d
Show file tree
Hide file tree
Showing 8 changed files with 325 additions and 60 deletions.
20 changes: 19 additions & 1 deletion frames/frame1/frame1.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,16 @@ def __init__(self, parent):
self.slider1 = self.create_slider(1)
self.slider2 = self.create_slider(2)
self.sliders = [self.slider0, self.slider1, self.slider2]
self.currently_highlighted = 0;
qss_path = "frames/frame1/slider_highlight.qss"
with open(qss_path, "r") as fh:
self.highlight_style = fh.read()
qss_path = "frames/frame1/slider.qss"
with open(qss_path, "r") as fh:
self.not_highlight_style = fh.read()

self.props=[]


for slider in self.sliders:
qss_path = "frames/frame1/slider.qss"
Expand Down Expand Up @@ -63,6 +73,14 @@ def __init__(self, parent):
self.layout.addWidget(self.labels_widget)
self.setLayout(self.layout)


def highlight(self, highlight_index):
for i, sliders in enumerate(self.sliders):
if i == highlight_index:
sliders.setStyleSheet(self.highlight_style)
else:
sliders.setStyleSheet(self.not_highlight_style)

def value_changed(self, nr, i):
# print(nr)
# print(i)
Expand Down Expand Up @@ -117,5 +135,5 @@ def create_button(self, text, nr):
widget.setText(str(text))
widget.setFont(font)
props = [nr]
widget.clicked.connect(lambda: self.parent.change_frame(2, props=props))
widget.clicked.connect(lambda: self.parent.change_frame(2, props=self.props + [nr]))
return widget
35 changes: 35 additions & 0 deletions frames/frame1/slider_highlight.qss
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
QWidget
{
/*-----background-color: #8f1e28;-----*/
/*-----color: #000fff;-----*/
selection-background-color: #aa7e82;
selection-color: #000000;
width: 250px;
height: 500px;
}
QSlider{
padding: 8px 4px 8px 4px;
border: 2px solid #0099ff;
border-radius: 4px;
}
QSlider::groove:vertical {
background-color: transparent;
position: absolute; /* absolutely position 4px from the left and right of the widget. setting margins on the widget should work too... */
left: 4px; right: 4px;
}
QSlider::handle:vertical {
height: 4px;
background: #5987a6;
margin: 0 -4px; /* expand outside the groove */
}
QSlider::sub-page:vertical {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
background: #99d6ff;
}
QSlider::add-page:vertical {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
background: #0099ff;
}

16 changes: 16 additions & 0 deletions frames/frame2/frame2.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ def __init__(self, parent):
self.slider2 = self.create_slider(2)
self.sliders = [self.slider0, self.slider1, self.slider2]


qss_path = "frames/frame1/slider_highlight.qss"
with open(qss_path, "r") as fh:
self.highlight_style = fh.read()
qss_path = "frames/frame1/slider.qss"
with open(qss_path, "r") as fh:
self.not_highlight_style = fh.read()

for slider in self.sliders:
qss_path = "frames/frame2/slider.qss"
with open(qss_path, "r") as fh:
Expand Down Expand Up @@ -74,6 +82,14 @@ def propify(self):
self.layout.addWidget(self.labels_widget)
self.setLayout(self.layout)


def highlight(self, highlight_index):
for i, sliders in enumerate(self.sliders):
if i == highlight_index:
sliders.setStyleSheet(self.highlight_style)
else:
sliders.setStyleSheet(self.not_highlight_style)

def value_changed(self, nr, i):
# print(nr)
# print(i)
Expand Down
13 changes: 12 additions & 1 deletion frames/frame3/frame3.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,9 +167,19 @@ def create_edit(self):
widget.setFont(font)
widget.setAlignment(Qt.AlignRight)
widget.returnPressed.connect(self.entered)
widget.textEdited.connect(self.text_changed)
widget.textChanged.connect(self.text_changed)
return widget

def percent_to_value(self, percent):
available_target_volume = 250 - self.chosen_sliders[1].value()
available_start_volume = self.chosen_sliders[0].value()
if available_start_volume >= available_target_volume:
choosable_volume = available_target_volume
else:
choosable_volume = available_start_volume
volume = percent*choosable_volume/100
self.target.setText(str(round(volume)))

def entered(self):
try:
content = int(self.target.text())
Expand All @@ -193,6 +203,7 @@ def entered(self):
else:
print("Im Startbehälter ist nicht genügend Flüssigkeit für das angegebene Soll.")
except ValueError as err:
print(err)
correction = re.sub("[^0-9]", "", self.target.text())
self.target.setText(correction)

Expand Down
Loading

0 comments on commit bed442d

Please sign in to comment.