GUI update
Große Änderung: 1) Aufteilung in links u rechts, statt l,r und beide 2) Tonänderungen mittels größerer Schieberegler realisiert 3) Alle Widgets mit Funktionen verbunden 4) farbige PLAY & STOP Button hinzugefügt, bisher ohne Funktion 5) Wenn man Speichern drückt, wird erst geprüft ob man einen Namen eingegeben hat 6) Funktionalität linkes/rechtes Ohr auf jeweils Anderes implementiert 7) Viele kleine visuelle Änderungen
This commit is contained in:
parent
9525cf30f4
commit
b73ae42745
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
TinnitusAnalyse/.idea/dictionaries/Julian.xml
|
||||||
|
TinnitusAnalyse/.idea/workspace.xml
|
||||||
|
TinnitusAnalyse/eggs.csv
|
12
TinnitusAnalyse/.idea/dictionaries/Julian.xml
generated
12
TinnitusAnalyse/.idea/dictionaries/Julian.xml
generated
@ -2,18 +2,30 @@
|
|||||||
<dictionary name="Julian">
|
<dictionary name="Julian">
|
||||||
<words>
|
<words>
|
||||||
<w>audioausgabe</w>
|
<w>audioausgabe</w>
|
||||||
|
<w>bandbreite</w>
|
||||||
<w>beide</w>
|
<w>beide</w>
|
||||||
<w>beiden</w>
|
<w>beiden</w>
|
||||||
|
<w>definieren</w>
|
||||||
<w>frequenz</w>
|
<w>frequenz</w>
|
||||||
|
<w>kommentare</w>
|
||||||
<w>lautstärke</w>
|
<w>lautstärke</w>
|
||||||
<w>linkem</w>
|
<w>linkem</w>
|
||||||
|
<w>linken</w>
|
||||||
<w>linkes</w>
|
<w>linkes</w>
|
||||||
|
<w>mittel</w>
|
||||||
|
<w>mittelfrequenz</w>
|
||||||
<w>nachname</w>
|
<w>nachname</w>
|
||||||
<w>ohren</w>
|
<w>ohren</w>
|
||||||
<w>rauschen</w>
|
<w>rauschen</w>
|
||||||
|
<w>rauschens</w>
|
||||||
<w>rechtem</w>
|
<w>rechtem</w>
|
||||||
|
<w>rechten</w>
|
||||||
|
<w>rechter</w>
|
||||||
<w>rechtes</w>
|
<w>rechtes</w>
|
||||||
|
<w>rechts</w>
|
||||||
|
<w>variablen</w>
|
||||||
<w>vorname</w>
|
<w>vorname</w>
|
||||||
|
<w>zwischen</w>
|
||||||
</words>
|
</words>
|
||||||
</dictionary>
|
</dictionary>
|
||||||
</component>
|
</component>
|
113
TinnitusAnalyse/.idea/workspace.xml
generated
113
TinnitusAnalyse/.idea/workspace.xml
generated
@ -2,9 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="5b3f2136-e422-4072-84be-e86e40fa2d55" name="Default Changelist" comment="">
|
<list default="true" id="5b3f2136-e422-4072-84be-e86e40fa2d55" name="Default Changelist" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/TinnitusAnalyse.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/TinnitusAnalyse.iml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/dictionaries/Julian.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dictionaries/Julian.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/dictionaries/Julian.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dictionaries/Julian.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/TinnitusAnalyse_GUI.py" beforeDir="false" afterPath="$PROJECT_DIR$/TinnitusAnalyse_GUI.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/TinnitusAnalyse_GUI.py" beforeDir="false" afterPath="$PROJECT_DIR$/TinnitusAnalyse_GUI.py" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
@ -15,14 +13,35 @@
|
|||||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
||||||
<file pinned="false" current-in-tab="true">
|
<file pinned="false" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/TinnitusAnalyse_GUI.py">
|
<entry file="file://$PROJECT_DIR$/TinnitusAnalyse_GUI.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="270">
|
<state relative-caret-position="396">
|
||||||
<caret line="89" column="74" selection-start-line="89" selection-start-column="74" selection-end-line="89" selection-end-column="74" />
|
<caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" />
|
||||||
<folding>
|
<folding>
|
||||||
<element signature="e#0#54#0" expanded="true" />
|
<element signature="e#0#117#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/__init__.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="26435">
|
||||||
|
<caret line="1557" selection-start-line="1557" selection-end-line="1557" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file pinned="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/SoundGenerator.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="170">
|
||||||
|
<caret line="14" column="14" selection-start-line="14" selection-start-column="14" selection-end-line="14" selection-end-column="14" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#11#0" expanded="true" />
|
||||||
</folding>
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -31,7 +50,7 @@
|
|||||||
<file pinned="false" current-in-tab="false">
|
<file pinned="false" current-in-tab="false">
|
||||||
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/ttk.py">
|
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/ttk.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="281">
|
<state relative-caret-position="9367">
|
||||||
<caret line="552" selection-start-line="552" selection-end-line="552" />
|
<caret line="552" selection-start-line="552" selection-end-line="552" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -50,7 +69,14 @@
|
|||||||
<findStrings>
|
<findStrings>
|
||||||
<find>ttk</find>
|
<find>ttk</find>
|
||||||
<find>mainFrame</find>
|
<find>mainFrame</find>
|
||||||
|
<find>aktLabelFrame</find>
|
||||||
<find>linkerFrame</find>
|
<find>linkerFrame</find>
|
||||||
|
<find>Var</find>
|
||||||
|
<find>Entry</find>
|
||||||
|
<find>Scale</find>
|
||||||
|
<find>linker</find>
|
||||||
|
<find>für alle</find>
|
||||||
|
<find>scale_lautstärke_links_change</find>
|
||||||
</findStrings>
|
</findStrings>
|
||||||
<dirStrings>
|
<dirStrings>
|
||||||
<dir>C:\Users\Julian\PycharmProjects\TinnitusAnalyse</dir>
|
<dir>C:\Users\Julian\PycharmProjects\TinnitusAnalyse</dir>
|
||||||
@ -67,10 +93,10 @@
|
|||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectFrameBounds" extendedState="6">
|
<component name="ProjectFrameBounds" extendedState="6">
|
||||||
<option name="x" value="321" />
|
<option name="x" value="-8" />
|
||||||
<option name="y" value="274" />
|
<option name="y" value="-8" />
|
||||||
<option name="width" value="1602" />
|
<option name="width" value="1696" />
|
||||||
<option name="height" value="1093" />
|
<option name="height" value="1066" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
||||||
<component name="ProjectView">
|
<component name="ProjectView">
|
||||||
@ -102,7 +128,28 @@
|
|||||||
</list>
|
</list>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager" selected="Python.TinnitusAnalyse_GUI">
|
||||||
|
<configuration name="SoundGenerator" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
|
<module name="TinnitusAnalyse" />
|
||||||
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
|
<option name="PARENT_ENVS" value="true" />
|
||||||
|
<envs>
|
||||||
|
<env name="PYTHONUNBUFFERED" value="1" />
|
||||||
|
</envs>
|
||||||
|
<option name="SDK_HOME" value="" />
|
||||||
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||||
|
<option name="IS_MODULE_SDK" value="true" />
|
||||||
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
||||||
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
||||||
|
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/SoundGenerator.py" />
|
||||||
|
<option name="PARAMETERS" value="" />
|
||||||
|
<option name="SHOW_COMMAND_LINE" value="false" />
|
||||||
|
<option name="EMULATE_TERMINAL" value="false" />
|
||||||
|
<option name="MODULE_MODE" value="false" />
|
||||||
|
<option name="REDIRECT_INPUT" value="false" />
|
||||||
|
<option name="INPUT_FILE" value="" />
|
||||||
|
<method v="2" />
|
||||||
|
</configuration>
|
||||||
<configuration name="TinnitusAnalyse_GUI" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
<configuration name="TinnitusAnalyse_GUI" type="PythonConfigurationType" factoryName="Python" temporary="true">
|
||||||
<module name="TinnitusAnalyse" />
|
<module name="TinnitusAnalyse" />
|
||||||
<option name="INTERPRETER_OPTIONS" value="" />
|
<option name="INTERPRETER_OPTIONS" value="" />
|
||||||
@ -127,6 +174,7 @@
|
|||||||
<recent_temporary>
|
<recent_temporary>
|
||||||
<list>
|
<list>
|
||||||
<item itemvalue="Python.TinnitusAnalyse_GUI" />
|
<item itemvalue="Python.TinnitusAnalyse_GUI" />
|
||||||
|
<item itemvalue="Python.SoundGenerator" />
|
||||||
</list>
|
</list>
|
||||||
</recent_temporary>
|
</recent_temporary>
|
||||||
</component>
|
</component>
|
||||||
@ -145,15 +193,14 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="-8" y="-8" width="2576" height="1416" extended-state="6" />
|
<frame x="-8" y="-8" width="2576" height="1416" extended-state="6" />
|
||||||
<editor active="true" />
|
|
||||||
<layout>
|
<layout>
|
||||||
<window_info content_ui="combo" id="Project" order="0" weight="0.18479118" />
|
<window_info content_ui="combo" id="Project" order="0" weight="0.18479118" />
|
||||||
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
||||||
<window_info id="Favorites" order="2" side_tool="true" />
|
<window_info id="Favorites" order="2" side_tool="true" />
|
||||||
<window_info anchor="bottom" id="Message" order="0" />
|
<window_info anchor="bottom" id="Message" order="0" />
|
||||||
<window_info anchor="bottom" id="Find" order="1" />
|
<window_info anchor="bottom" id="Find" order="1" />
|
||||||
<window_info active="true" anchor="bottom" id="Run" order="2" visible="true" weight="0.30553392" />
|
<window_info anchor="bottom" id="Run" order="2" weight="0.21200311" />
|
||||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.39977604" />
|
||||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||||
<window_info anchor="bottom" id="TODO" order="6" />
|
<window_info anchor="bottom" id="TODO" order="6" />
|
||||||
@ -189,29 +236,39 @@
|
|||||||
<entry file="file://$PROJECT_DIR$/.idea/TinnitusAnalyse.iml">
|
<entry file="file://$PROJECT_DIR$/.idea/TinnitusAnalyse.iml">
|
||||||
<provider selected="true" editor-type-id="text-editor" />
|
<provider selected="true" editor-type-id="text-editor" />
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/TinnitusAnalyse_GUI.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="396">
|
||||||
|
<caret line="93" lean-forward="true" selection-start-line="93" selection-end-line="93" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#117#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/__init__.py">
|
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/__init__.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="809">
|
<state relative-caret-position="26435">
|
||||||
<caret line="2522" column="16" selection-start-line="2522" selection-start-column="16" selection-end-line="2522" selection-end-column="16" />
|
<caret line="1557" selection-start-line="1557" selection-end-line="1557" />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/SoundGenerator.py">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state relative-caret-position="170">
|
||||||
|
<caret line="14" column="14" selection-start-line="14" selection-start-column="14" selection-end-line="14" selection-end-column="14" />
|
||||||
|
<folding>
|
||||||
|
<element signature="e#0#11#0" expanded="true" />
|
||||||
|
</folding>
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/ttk.py">
|
<entry file="file://$USER_HOME$/AppData/Local/Programs/Python/Python35/Lib/tkinter/ttk.py">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state relative-caret-position="281">
|
<state relative-caret-position="9367">
|
||||||
<caret line="552" selection-start-line="552" selection-end-line="552" />
|
<caret line="552" selection-start-line="552" selection-end-line="552" />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/TinnitusAnalyse_GUI.py">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state relative-caret-position="270">
|
|
||||||
<caret line="89" column="74" selection-start-line="89" selection-start-column="74" selection-end-line="89" selection-end-column="74" />
|
|
||||||
<folding>
|
|
||||||
<element signature="e#0#54#0" expanded="true" />
|
|
||||||
</folding>
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
@ -1,136 +1,272 @@
|
|||||||
from tkinter import * # all the classic tkinter stuff
|
from tkinter.ttk import Frame, Label, Button, LabelFrame, Combobox, Style, Checkbutton, Entry, Panedwindow, Separator
|
||||||
from tkinter.ttk import Frame, Label, Button, LabelFrame, Combobox, Style, Checkbutton, Entry, Panedwindow
|
from tkinter import *
|
||||||
|
import csv
|
||||||
# FUNKTIONEN DIE DURCH GUI KLICKS AUSGEFÜHRT WERDEN---------------------------------------------------------------------
|
|
||||||
|
|
||||||
def button_rauschen_minus_press():
|
|
||||||
print("Rauschen_Press_Plus pressed")
|
|
||||||
|
|
||||||
|
|
||||||
def button_rauschen_plus_press():
|
"""--------------------------FUNKTIONEN DIE DURCH GUI KLICKS AUSGEFÜHRT WERDEN---------------------------------------"""
|
||||||
print("Rauschen Press_Minus pressed")
|
"""-------Funktionen links-------------"""
|
||||||
|
|
||||||
|
|
||||||
# Ohr (links/beide/rechts)
|
def links_scale_lautstärke_change(self):
|
||||||
def button_linkes_ohr_press():
|
linksLautstärke = float(linksScaleLautstärke.get())
|
||||||
print("button linkes ohr pressed")
|
print("Links Lautstärke =", linksLautstärke)
|
||||||
|
|
||||||
|
|
||||||
def button_beide_ohren_press():
|
def links_scale_frequenz_change(self):
|
||||||
print("button beide ohren pressed")
|
linksFrequenz = float(linksScaleFrequenz.get())
|
||||||
|
print("Links Frequenz = ", linksFrequenz)
|
||||||
|
|
||||||
|
|
||||||
def button_rechtes_ohr_press():
|
def links_scale_rauschen_lautstärke_change(self):
|
||||||
print("button rechtes ohr pressed")
|
linksRauschenLautstärke = float(linksScaleRauschenLautstärke.get())
|
||||||
|
print("Links Rauschen Lautstärke = ", linksRauschenLautstärke)
|
||||||
|
|
||||||
|
|
||||||
# Lautstärke
|
def links_scale_rauschen_mittelfrequenz_change(self):
|
||||||
def scale_lautstärke_change(self):
|
linksRauschenMittelfrequenz = float(linksScaleRauschenMittelFrequenz.get())
|
||||||
lautstärke = float(scaleLautstärke.get())
|
print("Links Rauschen Mittelfrequenz = ", linksRauschenMittelfrequenz)
|
||||||
print(lautstärke)
|
|
||||||
|
|
||||||
def button_ohren_synchro():
|
|
||||||
auswahl = comboOhrenSynchro.get() # holt die momentane Auswahl aus combobox
|
|
||||||
print("Einstellungen von:" + auswahl + " auf alle anderen Ohren setzen")
|
|
||||||
|
|
||||||
|
|
||||||
# AUFBAU DES ROOT WINDOWS ----------------------------------------------------------------------------------------------
|
def links_scale_rauschen_bandbreite_change(self):
|
||||||
|
linksRauschenBandbreite = float(linksScaleRauschenBandbreite.get())
|
||||||
|
print("Links Rauschen Bandbreite = ", linksRauschenBandbreite)
|
||||||
|
|
||||||
|
|
||||||
|
"""----------Funktionen rechts----------"""
|
||||||
|
|
||||||
|
|
||||||
|
def rechts_scale_lautstärke_change(self):
|
||||||
|
rechtsLautstärke = float(rechtsScaleLautstärke.get())
|
||||||
|
print("Rechts Lautstärke =", rechtsLautstärke)
|
||||||
|
|
||||||
|
|
||||||
|
def rechts_scale_frequenz_change(self):
|
||||||
|
rechtsFrequenz = float(rechtsScaleFrequenz.get())
|
||||||
|
print("Rechts Frequenz= ", rechtsFrequenz)
|
||||||
|
|
||||||
|
|
||||||
|
def rechts_scale_rauschen_lautstärke_change(self):
|
||||||
|
rechtsRauschenLautstärke = float(rechtsScaleRauschenLautstärke.get())
|
||||||
|
print("Rechts Rauschen Lautstärke = ", rechtsRauschenLautstärke)
|
||||||
|
|
||||||
|
|
||||||
|
def rechts_scale_rauschen_mittelfrequenz_change(self):
|
||||||
|
rechtsRauschenMittelfrequenz = float(rechtsScaleRauschenMittelFrequenz.get())
|
||||||
|
print("Rechts Rauschen Mittelfrequenz = ", rechtsRauschenMittelfrequenz)
|
||||||
|
|
||||||
|
|
||||||
|
def rechts_scale_rauschen_bandbreite_change(self):
|
||||||
|
rechtsRauschenBandbreite = float(rechtsScaleRauschenBandbreite.get())
|
||||||
|
print("Rechts Rauschen Bandbreite = ", rechtsRauschenBandbreite)
|
||||||
|
|
||||||
|
|
||||||
|
"""--------------Funktionen unten------------------"""
|
||||||
|
|
||||||
|
|
||||||
|
def unten_button_ohren_synchro():
|
||||||
|
auswahl = untenComboOhrenSynchro.get() # holt die momentane Auswahl aus combobox
|
||||||
|
print("Einstellungen von:" + auswahl + " das auf das jeweils andere Ohr setzen")
|
||||||
|
|
||||||
|
if auswahl == "Linkes Ohr": # linkes --> rechts
|
||||||
|
rechtsScaleLautstärke.set(linksScaleLautstärke.get())
|
||||||
|
rechtsScaleFrequenz.set(linksScaleFrequenz.get())
|
||||||
|
rechtsScaleRauschenLautstärke.set(linksScaleRauschenLautstärke.get())
|
||||||
|
rechtsScaleRauschenMittelFrequenz.set(linksScaleRauschenMittelFrequenz.get())
|
||||||
|
rechtsScaleRauschenBandbreite.set(linksScaleRauschenBandbreite.get())
|
||||||
|
|
||||||
|
if auswahl == "Rechtes Ohr": # rechts --> links
|
||||||
|
linksScaleLautstärke.set(rechtsScaleLautstärke.get())
|
||||||
|
linksScaleFrequenz.set(rechtsScaleFrequenz.get())
|
||||||
|
linksScaleRauschenLautstärke.set(rechtsScaleRauschenLautstärke.get())
|
||||||
|
linksScaleRauschenMittelFrequenz.set(rechtsScaleRauschenMittelFrequenz.get())
|
||||||
|
linksScaleRauschenBandbreite.set(rechtsScaleRauschenBandbreite.get())
|
||||||
|
|
||||||
|
|
||||||
|
def unten_button_speichern_press():
|
||||||
|
print("button speichern pressed")
|
||||||
|
# Wenn man Speichern will bevor ein Name eingegeben wurde
|
||||||
|
if (not untenEntryVorname.get()) or (not untenEntryNachname.get()) or \
|
||||||
|
(untenEntryNachname == "Erst Namen..") or (untenEntryVorname == "..eintragen bitte"):
|
||||||
|
nachname.set("Erst Namen..")
|
||||||
|
vorname.set("..eintragen bitte")
|
||||||
|
else:
|
||||||
|
print("TEST")
|
||||||
|
|
||||||
|
|
||||||
|
def unten_button_play_press():
|
||||||
|
print("button play pressed")
|
||||||
|
|
||||||
|
|
||||||
|
def unten_button_stop_press():
|
||||||
|
print("button stop press")
|
||||||
|
|
||||||
|
|
||||||
|
"""------------------------------------------ AUFBAU DES ROOT WINDOWS -----------------------------------------------"""
|
||||||
root = Tk() # build the main window
|
root = Tk() # build the main window
|
||||||
root.title("Tinnitus Analyse")
|
root.title("Tinnitus Analyse")
|
||||||
#root.iconbitmap('headphones.ico') #todo: fix icon
|
#root.iconbitmap('headphones.ico') #todo: fix icon
|
||||||
root.minsize(width=800, height=600)
|
#root.minsize(width=200, height=600)
|
||||||
root.resizable(True, True)
|
root.resizable(True, True)
|
||||||
#root.columnconfigure(0, weight=1)
|
root.columnconfigure(0, weight=1) # falls freier Platz im Fenster ist, werden die Frames diesen benutzen
|
||||||
root.rowconfigure(0, weight=1) # extra platz nach unten wird automatisch von Frames eingenommen
|
root.rowconfigure(0, weight=1)
|
||||||
|
|
||||||
|
|
||||||
# DIE DREI OBEREN FRAMES AUFBAUEN---------------------------------------------------------------------------------------
|
"""------------------------------------------LINKER FRAME------------------------------------------------------------"""
|
||||||
linkerFrame = LabelFrame(root, text="linkes Ohr", width=100, height = 100, padding="3 3 30 30") # parent is root, padding is extra space at the edges
|
linkerFrame = LabelFrame(root, text="Linkes Ohr", font="bold") # parent is root, padding is extra space at the edges
|
||||||
linkerFrame.grid(column=0, row=0, sticky=(N + W + E + S)) # the frame sticks to every side of the window when resized
|
linkerFrame.grid(column=0, row=0, sticky=(N + W + E)) # the frame sticks to every side of the window when resized
|
||||||
|
|
||||||
mittlererFrame = LabelFrame(root, text="beide Ohren", width=100, height=100, padding="3 3 30 30")
|
linksLautstärke = DoubleVar()
|
||||||
mittlererFrame.grid(column=1, row=0, sticky=(N + W + E + S))
|
linksFrequenz = DoubleVar()
|
||||||
|
linksRauschenLautstärke = DoubleVar()
|
||||||
|
linksRauschenFrequenzband = DoubleVar()
|
||||||
|
|
||||||
rechterFrame = LabelFrame(root, text="rechtes Ohr", width=100, height=100, padding="3 3 30 30")
|
# ------------------ LAUTSTÄRKE ------------------
|
||||||
rechterFrame.grid(column=2, row=0, sticky=(N + W + E + S))
|
linksLabelLautstärke = Label(linkerFrame, text="Lautstärke [%]:")
|
||||||
|
linksLabelLautstärke.grid(column=0, row=0, sticky=W)
|
||||||
|
linksScaleLautstärke = Scale(linkerFrame, from_=0, to=100, orient=HORIZONTAL, length=700,
|
||||||
|
command=links_scale_lautstärke_change)
|
||||||
|
linksScaleLautstärke.grid(column=1, row=0, columnspan=10, sticky=W)
|
||||||
|
|
||||||
|
# -------- FREQUENZ ------------------------
|
||||||
|
linksLabelFrequenz = Label(linkerFrame, text="Frequenz [kHz]")
|
||||||
|
linksLabelFrequenz.grid(column=0, row=1, sticky=W) # sticky = w(est) makes the text left aligned
|
||||||
|
linksScaleFrequenz = Scale(linkerFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
|
command=links_scale_frequenz_change)
|
||||||
|
linksScaleFrequenz.grid(column=1, row=1, columnspan=10, sticky=(W+E))
|
||||||
|
|
||||||
|
# ----------- ABTRENNSTRICH ----------------
|
||||||
|
linksSeparator = Separator(linkerFrame, orient="horizontal")
|
||||||
|
linksSeparator.grid(column=0, row=2, columnspan=10, sticky=(W + E))
|
||||||
|
|
||||||
|
# ----------- RAUSCHEN --------------------
|
||||||
|
linksLabelRauschenLautstärke = Label(linkerFrame, text="Rauschen Lautstärke %", anchor="w")
|
||||||
|
linksLabelRauschenLautstärke.grid(column=0, row=3, sticky=W)
|
||||||
|
linksScaleRauschenLautstärke = Scale(linkerFrame, from_=0, to=100, orient=HORIZONTAL, length=700,
|
||||||
|
command=links_scale_rauschen_lautstärke_change)
|
||||||
|
linksScaleRauschenLautstärke.grid(column=1, row=3, sticky=(W+E))
|
||||||
|
|
||||||
|
linksLabelRauschenMittelFrequenz = Label(linkerFrame, text="Rauschen Mittelfrequenz [kHz]", anchor="w")
|
||||||
|
linksLabelRauschenMittelFrequenz .grid(column=0, row=4)
|
||||||
|
linksScaleRauschenMittelFrequenz = Scale(linkerFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
|
command=links_scale_rauschen_mittelfrequenz_change)
|
||||||
|
linksScaleRauschenMittelFrequenz.grid(column=1, row=4)
|
||||||
|
|
||||||
|
linksLabelRauschenBandbreite= Label(linkerFrame, text="Rauschen Bandbreite [kHz]", anchor="w")
|
||||||
|
linksLabelRauschenBandbreite.grid(column=0, row=5, sticky=W)
|
||||||
|
linksScaleRauschenBandbreite = Scale(linkerFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
|
command=links_scale_rauschen_bandbreite_change)
|
||||||
|
linksScaleRauschenBandbreite.grid(column=1, row=5, sticky=(W+E))
|
||||||
|
|
||||||
|
|
||||||
# DIE DREI OBEREN FRAMES FÜLLEN-----------------------------------------------------------------------------------------
|
"""----------------------------------------------RECHTER FRAME-------------------------------------------------------"""
|
||||||
labelFrames = [linkerFrame, mittlererFrame, rechterFrame]
|
rechterFrame = LabelFrame(root, text="Rechtes Ohr", font="bold")
|
||||||
for aktLabelFrame in labelFrames:
|
rechterFrame.grid(column=2, row=0, sticky=(N + E + W))
|
||||||
# -------- FREQUENZ ------------------------
|
|
||||||
labelFrequenz = Label(aktLabelFrame, text="Frequenz [kHz]")
|
# Variablen Rechts
|
||||||
labelFrequenz.grid(row=0, column=0, sticky=W) # sticky = w(est) makes the text left aligned
|
rechtsFrequenz = DoubleVar()
|
||||||
frequenz = DoubleVar() # Frequenz Variable [kHz]
|
rechtsRauschenLautstärke = DoubleVar()
|
||||||
entryFrequenz = Entry(aktLabelFrame, textvariable=frequenz) # create a field where u can enter text
|
rechtsRauschenFrequenzband = DoubleVar()
|
||||||
entryFrequenz.grid(column=1, row=0, sticky=W) # position the field
|
rechtsLautstärke = DoubleVar()
|
||||||
# todo: Failproof the entry field to just numbers between a range!
|
|
||||||
# todo: add function to entry change!
|
# ------------------ LAUTSTÄRKE ------------------
|
||||||
# ----------- RAUSCHEN --------------------
|
rechtsLabelLautstärke = Label(rechterFrame, text="Lautstärke [%]:")
|
||||||
# todo: iwas überlegen ich brauch 3 verschiedene stringVars eigentlich für jedes Ohr!!!
|
rechtsLabelLautstärke.grid(column=0, row=0, sticky=W)
|
||||||
# todo: add function to entry change
|
rechtsScaleLautstärke = Scale(rechterFrame, from_=0, to=100, orient=HORIZONTAL, length=700,
|
||||||
labelRauschen = Label(aktLabelFrame, text="Rauschen[+/- kHz]", anchor="w")
|
command=rechts_scale_lautstärke_change)
|
||||||
labelRauschen.grid(column=0, row=1, sticky=W)
|
rechtsScaleLautstärke.grid(column=1, row=0, columnspan=10, sticky=W)
|
||||||
buttonRauschenPlus = Button(aktLabelFrame, text="+", command=button_rauschen_plus_press)
|
|
||||||
buttonRauschenPlus.grid(column=2, row=1)
|
# -------- FREQUENZ ------------------------
|
||||||
buttonRauschenMinus = Button(aktLabelFrame, text="-", command=button_rauschen_minus_press)
|
rechtsLabelFrequenz = Label(rechterFrame, text="Frequenz [kHz]")
|
||||||
buttonRauschenMinus.grid(column=3, row=1)
|
rechtsLabelFrequenz.grid(column=0, row=1, sticky=W) # sticky = w(est) makes the text left aligned
|
||||||
rauschen = StringVar() # Rauschen Variable [+/- kHz]
|
rechtsScaleFrequenz = Scale(rechterFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
entryRauschen = Entry(aktLabelFrame, textvariable=rauschen) # create a field where u can enter text
|
command=rechts_scale_frequenz_change)
|
||||||
entryRauschen.grid(column=1, row=1, sticky=W) # position the field
|
rechtsScaleFrequenz.grid(column=1, row=1, columnspan=10, sticky=(W+E))
|
||||||
# ------------------ LAUTSTÄRKE ------------------
|
|
||||||
labelLautstärke = Label(aktLabelFrame, text="Lautstärke [%]:")
|
# ----------- ABTRENNSTRICH ----------------
|
||||||
labelLautstärke.grid(column=0, row=3, sticky="w")
|
rechtsSeparator = Separator(rechterFrame, orient="horizontal")
|
||||||
scaleLautstärke = Scale(aktLabelFrame, from_=0, to=100, orient=HORIZONTAL, length=200, command=scale_lautstärke_change)
|
rechtsSeparator.grid(column=0, row=2, columnspan=10, sticky=(W + E))
|
||||||
scaleLautstärke.grid(column=1, row=3, columnspan=2)
|
|
||||||
# ------------ KOMMENTAR ----------------
|
# ----------- RAUSCHEN --------------------
|
||||||
labelKommentar = Label(aktLabelFrame, text="weitere Kommentare:")
|
rechtsLabelRauschenLautstärke = Label(rechterFrame, text="Rauschen Lautstärke %", anchor="w")
|
||||||
labelKommentar.grid(column=0, row=4)
|
rechtsLabelRauschenLautstärke.grid(column=0, row=3, sticky=W)
|
||||||
kommentar = StringVar() # Rauschen Variable [+/- kHz]
|
rechtsScaleRauschenLautstärke = Scale(rechterFrame, from_=0, to=100, orient=HORIZONTAL, length=700,
|
||||||
entryKommentar = Entry(aktLabelFrame, textvariable=kommentar, width=33) # create a field where u can enter text
|
command=rechts_scale_rauschen_lautstärke_change)
|
||||||
entryKommentar.grid(column=1, row=4, rowspan=4, columnspan=2, sticky=W)
|
rechtsScaleRauschenLautstärke.grid(column=1, row=3, sticky=(W+E))
|
||||||
|
|
||||||
|
rechtsLabelRauschenMittelFrequenz = Label(rechterFrame, text="Rauschen Mittelfrequenz [kHz]", anchor="w")
|
||||||
|
rechtsLabelRauschenMittelFrequenz .grid(column=0, row=4)
|
||||||
|
rechtsScaleRauschenMittelFrequenz = Scale(rechterFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
|
command=rechts_scale_rauschen_mittelfrequenz_change)
|
||||||
|
rechtsScaleRauschenMittelFrequenz.grid(column=1, row=4)
|
||||||
|
|
||||||
|
rechtsLabelRauschenBandbreite = Label(rechterFrame, text="Rauschen Bandbreite [kHz]", anchor="w")
|
||||||
|
rechtsLabelRauschenBandbreite.grid(column=0, row=5, sticky=W)
|
||||||
|
rechtsScaleRauschenBandbreite = Scale(rechterFrame, from_=0, to=20, orient=HORIZONTAL, length=700, resolution=-1.0,
|
||||||
|
command=rechts_scale_rauschen_bandbreite_change)
|
||||||
|
rechtsScaleRauschenBandbreite.grid(column=1, row=5, sticky=(W+E))
|
||||||
|
|
||||||
|
|
||||||
# DEN UNTEREN FRAME BAUEN-----------------------------------------------------------------------------------------------
|
"""------------------------------------------------ UNTERER FRAME----------------------------------------------------"""
|
||||||
untererFrame = LabelFrame(root, text="Generelles", width=300, height=100, padding="3 3 30 30")
|
untererFrame = LabelFrame(root, text="Generelles", border=10)
|
||||||
untererFrame.grid(column=0, row=1, columnspan=3, sticky=(N + W + E + S))
|
untererFrame.grid(column=0, row=1, sticky=(N + W + S))
|
||||||
|
|
||||||
# DEN UNTEREN FRAME FÜLLEN----------------------------------------------------------------------------------------------
|
vorname = StringVar() # Name des Patienten als String um den generierten Tinnitus später zuordnen zu können
|
||||||
# ------------NAMENSEINGABE-------------
|
|
||||||
labelNachname = Label(untererFrame, text="Nachname:")
|
|
||||||
labelNachname.grid(column=0, row=0)
|
|
||||||
nachname = StringVar()
|
nachname = StringVar()
|
||||||
entryNachname = Entry(untererFrame, textvariable=nachname)
|
kommentare = StringVar() # Ein Feld in dass der Patient noch weitere Kommentare angeben kann
|
||||||
entryNachname.grid(column=1, row=0)
|
# Den unteren Frame füllen----------------------------------------------------------------------------------------------
|
||||||
labelVorname = Label(untererFrame, text="Vorname:")
|
|
||||||
labelVorname.grid(column=2, row=0)
|
|
||||||
vorname = StringVar()
|
|
||||||
entryVorname = Entry(untererFrame, textvariable=vorname)
|
|
||||||
entryVorname.grid(column=3, row=0)
|
|
||||||
# ------------------OHRENAUSWAHL-----------
|
|
||||||
labelOhren = Label(untererFrame, text="Audioausgabe auf:")
|
|
||||||
labelOhren.grid(column=0, row=1, sticky="w")
|
|
||||||
buttonLinkesOhr = Button(untererFrame, text="linkem Ohr", command=button_linkes_ohr_press)
|
|
||||||
buttonLinkesOhr.grid(column=1, row=1)
|
|
||||||
buttonBeideOhren = Button(untererFrame, text="beiden Ohren", command=button_beide_ohren_press)
|
|
||||||
buttonBeideOhren.grid(column=2, row=1)
|
|
||||||
buttonRechtesOhr = Button(untererFrame, text="rechtem Ohr", command=button_rechtes_ohr_press)
|
|
||||||
buttonRechtesOhr.grid(column=3, row=1)
|
|
||||||
# --------- OHREN SYNCHRONISIEREN -----------------------
|
# --------- OHREN SYNCHRONISIEREN -----------------------
|
||||||
labelOhrenSynchro = Label(untererFrame, text="Einstellungen von ")
|
untenLabelOhrenSynchro = Label(untererFrame, text="Einstellungen von ")
|
||||||
labelOhrenSynchro.grid(column=0, row=2)
|
untenLabelOhrenSynchro.grid(column=0, row=0, sticky=(N + W))
|
||||||
comboOhrenSynchro = Combobox(untererFrame, values=["Linkes Ohr", "Rechtes Ohr", "Beide Ohren"])
|
untenComboOhrenSynchro = Combobox(untererFrame, values=["Linkes Ohr", "Rechtes Ohr"])
|
||||||
comboOhrenSynchro.grid(column=1, row=2)
|
untenComboOhrenSynchro.grid(column=1, row=0, sticky=(N + W + E + S))
|
||||||
labelOhrenSynchro2 = Label(untererFrame, text=" für alle anderen Ohren übernehmen")
|
untenLabelOhrenSynchro2 = Label(untererFrame, text=" für beide übernehmen")
|
||||||
labelOhrenSynchro2.grid(column=2, row=2)
|
untenLabelOhrenSynchro2.grid(column=2, row=0, sticky=(N + W + E + S))
|
||||||
buttonOhrenSynchro = Button(untererFrame, text="Bestätigen", command=button_ohren_synchro)
|
untenButtonOhrenSynchro = Button(untererFrame, text="Bestätigen",
|
||||||
buttonOhrenSynchro.grid(column=3, row=2)
|
command=unten_button_ohren_synchro)
|
||||||
|
untenButtonOhrenSynchro.grid(column=3, row=0, sticky=(N + W + E + S))
|
||||||
|
|
||||||
|
#----------- PLAY BUTTON
|
||||||
|
untenButtonPlay = Button(untererFrame, text="PLAY", font="bold", relief="raised", bg="green", fg="white",
|
||||||
|
command=unten_button_play_press)
|
||||||
|
untenButtonPlay.grid(column=8, row=0, sticky=(N + W + E + S))
|
||||||
|
|
||||||
|
#------------STOP BUTTON-------------
|
||||||
|
untenButtonStop = Button(untererFrame, text="STOP", font="bold", relief="raised", bg="red", fg="white",
|
||||||
|
command=unten_button_stop_press)
|
||||||
|
untenButtonStop.grid(column=9, row=0, sticky=(N + W + E + S))
|
||||||
|
|
||||||
|
# ----------- ABTRENNSTRICHE ----------------
|
||||||
|
untenSeparator = Separator(untererFrame, orient="horizontal")
|
||||||
|
untenSeparator.grid(column=0, row=1, columnspan=10, sticky=(W + E))
|
||||||
|
|
||||||
|
untenSeperator2 = Separator(untererFrame, orient="vertical")
|
||||||
|
untenSeperator2.grid(column=5, rowspan=5, sticky=N+S)
|
||||||
|
|
||||||
|
# ------------NAMENSEINGABE-------------
|
||||||
|
untenLabelNachname = Label(untererFrame, text="Nachname:")
|
||||||
|
untenLabelNachname.grid(column=0, row=2, sticky=W)
|
||||||
|
untenEntryNachname = Entry(untererFrame, textvariable=nachname)
|
||||||
|
untenEntryNachname.grid(column=1, row=2, sticky=W)
|
||||||
|
untenLabelVorname = Label(untererFrame, text="Vorname:")
|
||||||
|
untenLabelVorname.grid(column=0, row=3, sticky=W)
|
||||||
|
untenEntryVorname = Entry(untererFrame, textvariable=vorname)
|
||||||
|
untenEntryVorname.grid(column=1, row=3, sticky=W)
|
||||||
|
|
||||||
|
# ------------ KOMMENTAR ----------------
|
||||||
|
untenLabelKommentar = Label(untererFrame, text="weitere Kommentare:")
|
||||||
|
untenLabelKommentar.grid(column=0, row=4, sticky=W)
|
||||||
|
untenTextKommentar = Text(untererFrame, height=10, width=50) # create a field where u can enter text
|
||||||
|
untenTextKommentar.grid(column=1, row=4, columnspan=3, rowspan=3)
|
||||||
|
|
||||||
# ----------- SPEICHERN --------------------
|
# ----------- SPEICHERN --------------------
|
||||||
buttonSpeichern = Button(untererFrame, text="SPEICHERN")
|
untenButtonSpeichern = Button(untererFrame, text="Speichern", font="bold",
|
||||||
buttonSpeichern.grid(column=6, row=3)
|
command=unten_button_speichern_press)
|
||||||
|
untenButtonSpeichern.grid(column=4, row=6, sticky=S)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# todo: , relief="raised" für play button
|
||||||
|
|
||||||
|
|
||||||
root.mainloop()
|
root.mainloop()
|
Loading…
x
Reference in New Issue
Block a user