🙏 Helfen Sie mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Click-Ereigniss? abfangen

Alles zur Programmierung im LibreOffice.
Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

Re: Click-Ereigniss? abfangen

Beitrag von karolus » Mo 29. Jul 2024, 10:50

StefKe hat geschrieben:
Mo 29. Jul 2024, 09:59
Wenn das nicht kreativ ist, was dann? ;)
Ich hab es dem 'Doppelklick' zugeordnet - läuft!

Danke - Stefan
bis jetzt war das noch einfach, aber hast du schon mal dran gedacht die Zählerstände nicht via ⇒Auge ⇒ Hirn ⇒ Tastatur … einzugeben, sondern via Bildverarbeitung … z.B. python pillow 8-) 8-) 8-)
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

StefKe
Beiträge: 62
Registriert: Sa 5. Nov 2022, 18:47

Re: Click-Ereigniss? abfangen

Beitrag von StefKe » Mo 29. Jul 2024, 11:57

via ⇒Auge ⇒ Hirn ⇒ Tastatur …
... schön das 'HIrn' benannt wurde :D
Nö, habe ich noch nicht ... die 'bastelei' ist ziemlich anstrengend.
Meinst Du pillow kann solche Bilder analysieren?
Bild

Danke - Stefan

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

Re: Click-Ereigniss? abfangen

Beitrag von karolus » Mo 29. Jul 2024, 12:48

StefKe hat geschrieben:
Mo 29. Jul 2024, 11:57
Meinst Du pillow kann solche Bilder analysieren?
Genaugenommen wohl eher https://pypi.org/project/pytesseract/ was aber u.a. eben PIL|pillow als Abhängigkeit hat.
( Und die »Genauigkeit« hängt natürlich von der Qualität des Bildmaterials ab,… bei deinem Beispiel muss $Mensch ja schon etwas genauer hinschauen um die 7 nicht als 2 zu identifizieren )
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2533
Registriert: Fr 10. Dez 2010, 10:01

Re: Click-Ereigniss? abfangen

Beitrag von karolus » Mo 29. Jul 2024, 14:20

Hallo

Gebunden ans Ereignis »Doppellick« kannst du die Funktions-definition ändern auf:

Code: Alles auswählen

def jpg_timestamp_via_file_dialog(event):
    
    dialog = createUnoService("com.sun.star.ui.dialogs.FilePicker")
    dialog.DisplayDirectory= (Path.home() / "Pictures" / "Neu").as_uri()
    dialog.Title = "…jpg … Auswahl"
    dialog.appendFilter("JPG", "*.jpg")
    if dialog.execute():
        try:
            file_name = Path( uri2path( dialog.Files[0] ) ).name
            _date = dt.strptime(file_name ,'IMG_%Y%m%d_%H%M%S.jpg')
            event.FormulaLocal= f"{_date:%Y-%m-%d %H:%M:%S}"
        except ValueError:
            event.String = "Datei-name passt nicht"
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

nitja
Beiträge: 190
Registriert: Di 20. Okt 2020, 15:55

Re: Click-Ereigniss? abfangen

Beitrag von nitja » Sa 3. Aug 2024, 01:07

Sorry für die Verspätung dieser Antwort …
StefKe hat geschrieben:
So 28. Jul 2024, 19:23

@nitja: … dann versuche ich es mit 'Inhalt geändert'...
'Inhalt geändert' ist genau die (etwas unglückliche) "Übersetzung"/"Eindeutschung" von 'onSelect'.
Dabei kann man die Zell(adress)e auslesen, die das Ereignis triggert.
Ein (Einzel-)Click löst 4 Ereignisse für dieselbe Zelle aus (eins bei Drücken der Taste und 3 beim wieder Loslassen).
LO 24.2.0.3 (X86_64) auf Linux 6.6.26-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

mikele
* LO-Experte *
Beiträge: 1929
Registriert: Mo 1. Aug 2011, 20:51

Re: Click-Ereigniss? abfangen

Beitrag von mikele » So 18. Aug 2024, 14:11

Hallo,
'Inhalt geändert' ist genau die (etwas unglückliche) "Übersetzung"/"Eindeutschung" von 'onSelect'.
Das stimmt so nicht ganz (soweit ich es getestet habe).
Es gibt die Tabellenereignisse
"Inhalt geändert" -> onChange
"Auswahl geändert" -> onSelect
"Formel geändert" -> onCalculate

Das Ereignis "Inhalt geändert" wird ausgelöst, sobald der Inhalt einer Zelle (Text, Wert, Formel) geändert wird. Dabei wird die Zelle an das Makro weitergegeben, in der die Änderung erfolgte.
Ändert sich in einer Zelle das Formelergebnis (aufgrund der Änderung in einer anderen Zelle) so löst die Zelle mit der Formel kein Ereignis aus.
Dafür wäre das Ereignis "Formel geändert" zuständig. Dieses Ereignis gibt aber kein Objekt an das Makro weiter. Man weiß also nur, dass sich irgendwo in der Datei (mindestens) ein Formelergebnis geändert hat. (Damit scheint mir dieses Ereignis praktisch unnütz zu sein.)

Interessant ist das Ereignis "Auswahl geändert". Dieses Ereignis wird sehr unterschiedlich ausgelöst:
a) wenn man mit sich den Cursortasten im Dokument bewegt
- geht man nur zu einer anderen Zelle (links, rechts, hoch, runter, Seite hoch, Seite runter) so wird das Ereignis einmal ausgelöst und liefert die Zielzelle als Übergabe
- wählt man dabei (per Shift) jedoch mehrere Zellen an, so wird das Ereignis zweimal ausgelöst und liefert den Zellbereich
- hat man z. B. den Bereich A10:B12 gewählt (A10 ist aktiv) und geht dann eine Zelle nach oben, dann wird das Ereignis zweimal ausgelöst und liefert einmal die Zelle A10 und dann A9. Ich vermute mal, dass de facto zunächst der Bereich A10:B12 auf A10 kollabiert (1. Auswahländerung) und dann (2. Auswahländerung) zu A9 gewechselt wird
b) wenn man in einer Zelle per Taste F2 in den Bearbeitungsmodus oder in die Eingabezelie wechselt, wird das Ereignis einmal ausgelöst und liefert die Zelle
c) macht man das ganze per Maus, so wird das Ereignis mehrfach ausgelöst, soweit ich es testete mindestens 4 mal:
- zweimal beim Anklicken einer Zelle (Maustaste gedrückt) und zweimal beim Loslassen der Maustaste.
- klickt ma eine Zelle an (z. B. A10), hält die Maustaste gedrückt und wählt dann zusätzlich B10 aus, und lässt dann los, dann wird das Ereignis 4 mal ausgelöst und liefert:
$Tabelle1.$A$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
$Tabelle1.$A$10:$B$10
(jede Erweitung der Auswahl liefert eine weitere Auslösung des Ereignisses)
Gruß,
mikele


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten