LibreOffice SymbolLibreOffice Symbol

Støtt oss!

msgbox modul

For å bruka denne funksjonen …

Opna menyen Verktøy → Makroar → Makrohandsamar.


Beskriving

MsgBox-klassemetoder i Python-modulen msgbox gjer det enklare å setj opp meldingsboksar ved hjelp av Abstract Windowing Toolkit API-fasilitetar. MsgBox-konstruktøren lagar eit tomt dialogvindauge som kan fyllast ut med knappar og tekstar.

Åtvaringsikon

Denne modulen er ikkje ein del av den støtta UNO API-en. Utdata til skjerm med msgbox-modulen må avgrensast til utviklings- eller testsituasjonar.


Tipsikon

Du kan føra indata/utdata til skjerm med Python ved å bruka LibreOfficeDev UNO API, med tenesterutinene ScriptForge.Basic eller ved å bruka «Python to Basic» mellomspråklege oppkall som forklart i wikien.


Eigenskapar

Namn

Skriveverna

Type

Beskriving

numberOfLines

Nei

Boolean

Overstyrer valfritt den gjengjevne høgda for dialogvindauget.


Metodar

Liste over metodar i MsgBox-klassen

addButton

renderFromBoxSize

renderFromButtonSize

show


addButton

Leggja til ein knapp i eit MsgBox()-objekt.

Syntaks:

addButton(caption: str)

Parametrar:

biletekst: Tekst for knappen.

Eksempel:

Sjå detaljeret eksempel nedanfor.

renderFromBoxSize

Definerer dimensjonane for MsgBox-dialogvindauget og storleiken på på knappane i høve til ein spesifisert storleik.

Syntaks:

renderFromBoxSize(size=150)

Parametrar:

storleik: Storleik på dialogvindauget.
Breidd: ( 2 · storleik ) / ( 3 · taletPåKnappar + 1 )
Høgda vert sett i høve til talet på Nylinje-seperatorar i vindaugeteksten.

Eksempel:

Sjå detaljert eksempel nedanfor.

renderFromButtonSize

Tilpassar dimensjonane på MsgBox-dialogvindauget i høve til ein spesifisert storleik for knappane.

Syntaks:

renderFromButtonSize(size=50)

Parametrar:

storleik: Storleik på knappane.
Breidd: ( taletPåKnappar · 1,5 + 0,5 · storleik
Høgda vert sett i høve til talet på Nylinje-seperatorar i vindaugeteksten.

Eksempel:

Sjå detaljert eksempel nedføre.

show

Viser MsgBox-variantar, for eksempel informasjonsboks, åtvaringsboks og så vidare.

Syntaks:

show(message: str, decoration, title: str): str

Parametrar:

melding: Tekst i dialogvindauget. Kan innehalda Linjeskift-skiljeteikn.

dekorasjon: i/t.

tittel: Tekst i dialogvindauget.

Eksempel:

Sjå detaljert eksempel nedanfor.

Detaljert eksempel


import uno
from msgbox import MsgBox

if uno: _CTX = uno.getComponentContext()

def my_script():
    response = msgBox('Vil du halda fram?',('Ja', 'Nei', 'Avbryt'),'Ei melding frå Python')
    infoBox(button=response)

def msgBox(prompt='', buttons=('Ok',), title='') -> str:
    dlg = MsgBox(_CTX)  # uno.getComponentContext()
    for btn in buttons:
        dlg.addButton(btn)
    dlg.renderFromButtonSize()
    dlg.numberOfLines = 15
    return dlg.show(prompt,0,title)
  
def infoBox(prompt='tilpassa frå msgbox.MsgBox', button='Hei', title='msgbox-modul'):
    dlg = MsgBox(_CTX)  # uno.getComponentContext()
    dlg.addButton(button)
    dlg.renderFromBoxSize(345)
    dlg.show(prompt,0,title)

g_exportedScripts = (skriptet_mitt,) # LibreOffice-inngangspunkt
  
if __name__ == "__main__":  # inngangspunkt for IDE-ar
    from officehelper import SessionManager
    with SessionManager() as ctx:  # Python eksternt innhald
      _CTX = ctx
      my_script()
Tipsikon

ScriptForge.Basic-tenesta tilbyr MsgBox- og InputBox-alternativ med signaturar som samsvarar godt med signaturane for Basic-funksjonane.