LibreOffice SymbolLibreOffice Symbol

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.


Properties

Name

Readonly

Type

Description

numberOfLines

No

Boolean

Optionally overrides dialog rendered height.


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

Defines MsgBox dialog dimensions as well as size of buttons according to a specified size.

Syntaxis:

renderFromBoxSize(size=150)

Parameters:

size: Dialog size.
Width: ( 2 * size ) / ( 3 * numberOfbuttons + 1 )
Height is set according the number of Newline separators in dialog text.

Voorbeeld:

Zie onderstaand gedetailleerd voorbeeld.

renderFromButtonSize

Accommodates MsgBox dialog dimensions according to a specified size for buttons.

Syntaxis:

renderFromButtonSize(size=50)

Parameters:

size: Size for buttons.
Width: ( numberOfButtons * 1.5 + 0.5) * size
Height is set according the number of Newline separators in dialog text.

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 provides MsgBox and InputBox alternatives whose signatures closely match that of Basic functions.