Added clicks, simplified the mouse wheel event handling.
parent
68043adf00
commit
a1bd41de9d
28
arty.pyw
28
arty.pyw
|
@ -3,8 +3,9 @@ import winput
|
||||||
from PySide2.QtCore import Qt
|
from PySide2.QtCore import Qt
|
||||||
from PySide2.QtWidgets import QApplication, QMainWindow, QRadioButton, QGroupBox
|
from PySide2.QtWidgets import QApplication, QMainWindow, QRadioButton, QGroupBox
|
||||||
from PySide2.QtWidgets import QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSpinBox
|
from PySide2.QtWidgets import QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSpinBox
|
||||||
from PySide2.QtWidgets import QAction
|
from PySide2.QtWidgets import QAction, QCheckBox
|
||||||
from PySide2.QtGui import QIcon
|
from PySide2.QtGui import QIcon
|
||||||
|
from PySide2.QtMultimedia import QSound
|
||||||
|
|
||||||
WM_MOUSEWHEEL = 0x020A # mouse wheel moved
|
WM_MOUSEWHEEL = 0x020A # mouse wheel moved
|
||||||
|
|
||||||
|
@ -13,12 +14,18 @@ class ArtyWidget(QWidget):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
|
||||||
|
self.audio_effect_10 = QSound("sound1.wav")
|
||||||
|
self.audio_effect_10b = QSound("sound1b.wav")
|
||||||
|
self.audio_effect_50 = QSound("sound2.wav")
|
||||||
|
|
||||||
self.radio_type1 = QRadioButton("Type 1: MILRAD 622 - 978")
|
self.radio_type1 = QRadioButton("Type 1: MILRAD 622 - 978")
|
||||||
self.radio_type2 = QRadioButton("Type 2: MILRAD 800 - 1120")
|
self.radio_type2 = QRadioButton("Type 2: MILRAD 800 - 1120")
|
||||||
|
self.sound_cbox = QCheckBox("Sound", checked=True)
|
||||||
|
|
||||||
gbox_layout = QVBoxLayout()
|
gbox_layout = QVBoxLayout()
|
||||||
gbox_layout.addWidget(self.radio_type1)
|
gbox_layout.addWidget(self.radio_type1)
|
||||||
gbox_layout.addWidget(self.radio_type2)
|
gbox_layout.addWidget(self.radio_type2)
|
||||||
|
gbox_layout.addWidget(self.sound_cbox)
|
||||||
|
|
||||||
self.gbox = QGroupBox("Settings (Ctrl+H to hide the window bar)")
|
self.gbox = QGroupBox("Settings (Ctrl+H to hide the window bar)")
|
||||||
self.gbox.setLayout(gbox_layout)
|
self.gbox.setLayout(gbox_layout)
|
||||||
|
@ -61,6 +68,7 @@ class ArtyWidget(QWidget):
|
||||||
self.update_elevation(self.target_range.value())
|
self.update_elevation(self.target_range.value())
|
||||||
|
|
||||||
def update_elevation(self, value):
|
def update_elevation(self, value):
|
||||||
|
|
||||||
x0, x1 = 100, 1600
|
x0, x1 = 100, 1600
|
||||||
if self.radio_type1.isChecked():
|
if self.radio_type1.isChecked():
|
||||||
y0, y1 = 978, 622
|
y0, y1 = 978, 622
|
||||||
|
@ -75,10 +83,21 @@ class ArtyWidget(QWidget):
|
||||||
|
|
||||||
def increment_range(self, mouse_event):
|
def increment_range(self, mouse_event):
|
||||||
if mouse_event.action == WM_MOUSEWHEEL:
|
if mouse_event.action == WM_MOUSEWHEEL:
|
||||||
if not self.isActiveWindow():
|
|
||||||
current_range = self.target_range.value()
|
current_range = self.target_range.value()
|
||||||
increment = mouse_event.additional_data
|
increment = mouse_event.additional_data
|
||||||
self.target_range.setValue(current_range + increment)
|
set_range = current_range + increment
|
||||||
|
self.target_range.setValue(set_range)
|
||||||
|
self.play_click(set_range, increment)
|
||||||
|
|
||||||
|
def play_click(self, set_range, increment):
|
||||||
|
if self.sound_cbox.isChecked():
|
||||||
|
if set_range % 50 == 0:
|
||||||
|
self.audio_effect_50.play()
|
||||||
|
elif set_range % 10 == 0:
|
||||||
|
if increment > 0:
|
||||||
|
self.audio_effect_10.play()
|
||||||
|
else:
|
||||||
|
self.audio_effect_10b.play()
|
||||||
|
|
||||||
|
|
||||||
class ArtyGUI(QMainWindow):
|
class ArtyGUI(QMainWindow):
|
||||||
|
@ -110,9 +129,6 @@ class ArtyGUI(QMainWindow):
|
||||||
self.show()
|
self.show()
|
||||||
self.arty_widget.target_range.setFocus()
|
self.arty_widget.target_range.setFocus()
|
||||||
|
|
||||||
def wheelEvent(self, event):
|
|
||||||
self.arty_widget.target_range.event(event)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue