Help ons, alstublieft!

msgbox module

Om toegang te krijgen tot deze functie..

Open het menu Extra - Macro's - Macro's beheren.


Beschrijving

MsgBox klassemethodes in msgbox Pythonmodule vereenvoudigen het maken van berichtenvensters met behulp van de faciliteiten van de Abstract Windowing Toolkit API. MsgBox constructor maakt een leeg dialoogvenster aan dat kan worden aangevuld met knoppen en tekst.

Waarschuwingspictogram

Deze module maakt geen deel uit van de ondersteunde UNO API. Uitvoer naar het scherm met msgbox dient beperkt te blijven tot ontwikkelings- of testsituaties.


Tippictogram

Het uitvoeren van invoer/uitvoer naar het scherm met Python kan worden bereikt met behulp van de LibreOfficeDev UNO API, door gebruik te maken van de ScriptForge.Basic service routines of door Python-naar-Basic inter-taal aanroepen te gebruiken zoals beschreven op de wiki.


Eigenschappen

Naam

Alleen lezen

Type

Beschrijving

numberOfLines

Nee

Boolean

Kan optioneel de weergegeven hoogte van het dialoogvenster overschrijven.


Methodes

Lijst met methodes in de MsgBox-klasse

addButton

renderFromBoxSize

renderFromButtonSize

show


addButton

Een knop toe aan een MsgBox()-object toevoegen.

Syntaxis:

addButton(caption: str)

Parameters:

bijschrift: Bijschrift (knop).

Voorbeeld:

Zie onderstaand gedetailleerd voorbeeld.

renderFromBoxSize

Definieert de afmetingen van het dialoogvenster MsgBox en de grootte van de knoppen volgens een opgegeven afmeting.

Syntaxis:

renderFromBoxSize(size=150)

Parameters:

grootte: Dialooggrootte.
Breedte: ( 2 * size ) / ( 3 * aantalKnoppen + 1 )
De hoogte wordt ingesteld op basis van het aantal regeleinde-scheidingstekens in de dialoogtekst.

Voorbeeld:

Zie onderstaand gedetailleerd voorbeeld.

renderFromButtonSize

Past de afmetingen van het dialoogvenster MsgBox aan volgens een opgegeven grootte voor knoppen.

Syntaxis:

renderFromButtonSize(size=50)

Parameters:

grootte: Grootte voor knoppen.
Breedte: ( numberOfButtons * 1,5 + 0,5) * grootte
De hoogte wordt ingesteld op basis van het aantal regeleinde-scheidingstekens in de dialoogtekst.

Voorbeeld:

Zie onderstaand gedetailleerd voorbeeld.

show

Geeft MsgBox-varianten weer, zoals een informatievenster, waarschuwingsvenster, enzovoort.

Syntaxis:

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

Parameters:

bericht: Dialoogvenster gevraagde tekst die mogelijk Nieuwe regel scheidingstekens bevat.

decoratie: n/a.

titel: Dialoogvenster Bijschrift.

Voorbeeld:

Zie onderstaand gedetailleerd voorbeeld.

Gedetailleerd voorbeeld


import uno
from msgbox import MsgBox

if uno: _CTX = uno.getComponentContext()

def my_script():
    response = msgBox('Wilt u doorgaan?',('Ja', 'Nee', 'Annuleren'),'Een bericht van 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='adapted from msgbox.MsgBox', button='Hallo', title='msgbox module'):
    dlg = MsgBox(_CTX)  # uno.getComponentContext()
    dlg.addButton(button)
    dlg.renderFromBoxSize(345)
    dlg.show(prompt,0,title)

g_exportedScripts = (my_script,)  # Toegangspunten tot LibreOffice
  
if __name__ == "__main__":  # toegangspunt tot IDEs
    from officehelper import SessionManager
    met SessionManager() als ctx: # Python externe context
      _CTX = ctx
      my_script()
Tippictogram

ScriptForge.Basic service biedt MsgBox en InputBox alternatieven waarvan de handtekeningen nauw aansluiten bij die van Basic-functies.