Libre Office

Formular bei Start einer ODS-Datei

Alles zur Programmierung im LibreOffice.
jg-n-py
Beiträge: 17
Registriert: Mi 7. Mai 2014, 21:24

Re: Formular bei Start einer ODS-Datei

Beitrag von jg-n-py » Fr 15. Aug 2014, 20:05

Dazu müsste man wissen, was dieses baseName eigentlich macht! Ich habe nämlich keine Ahnung wofür das gut sein soll! Konnte bisher nichts darüber finden :(

Also ich hab' jetzt alles mögliche ausprobiert - bei allen Versionen friert das Tkinter-Fenster ein :cry:

Auch der Vorschlag von @karolus brachte nichts - selbst wenn man sys.argv mit dem Wert aus uno.fileUrlToSystemPath(__file__) belegt.

Und nun?

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

Re: Formular bei Start einer ODS-Datei

Beitrag von karolus » Fr 15. Aug 2014, 21:55

jg-n-py hat geschrieben:Dazu müsste man wissen, was dieses baseName eigentlich macht! Ich habe nämlich keine Ahnung wofür das gut sein soll! Konnte bisher nichts darüber finden :(
Anscheinend soll daraus der Fenstertitel abgeleitet werden.
Auch der Vorschlag von @karolus brachte nichts - selbst wenn man sys.argv mit dem Wert aus uno.fileUrlToSystemPath(__file__) belegt.

Und nun?
Den Vorschlag hab ich bereits wiederufen, und dafür im folgenden Post einen besseren gemacht - hast du den auch schon ausprobiert?

Karolus
LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)

jg-n-py
Beiträge: 17
Registriert: Mi 7. Mai 2014, 21:24

Re: Formular bei Start einer ODS-Datei

Beitrag von jg-n-py » Fr 15. Aug 2014, 22:17

Hi @karolus, ja, hab' alle Versionen durchprobiert, alles außer Eingriff in Tkinter natürlich!

Diese beiden Versionen helfen bei mir nicht:

Der Hack mit sys.argv außerhalb der Tk-Klasse:

Code: Alles auswählen

def run(*event):
    name = os.path.basename(uno.fileUrlToSystemPath(__file__))
    sys.__dict__["argv"] = [name,]
    _window_ = tk.Tk()
    ...
Hier der Fehler dazu.
macrofehler3.png
macrofehler3.png (20.6 KiB) 2284 mal betrachtet
Ebensowenig funktionieren (viele) Varianten mit dem baseName - Argument:

Code: Alles auswählen

def run(*event):
    name = os.path.basename(uno.fileUrlToSystemPath(__file__))
    _window_ = tk.Tk(baseName=name)
    ...
Schade - wähnte mich schon am Ziel als ich das Formular sah :(

Open Office
Antworten