Podpořte nás!

msgbox modul

Pro přístup k tomuto příkazu...

Open Tools - Macros - Macro Manager menu.


Popis

Metody třídy MsgBox v modulu Pythonu msgbox zjednodušují vytváření oken se zprávami pomocí funkcí API sady Abstract Windowing Toolkit.Konstruktor MsgBox vytvoří prázdný dialog, který bude doplněn tlačítky a texty.

Ikona upozornění

Tento modul není součástí podporovaného rozhraní UNO API. Výstup na obrazovku s modulem msgbox je omezen na vývojové nebo testovací situace.


Ikona tipu

Provádění vstupu/výstupu na obrazovku pomocí Pythonu lze dosáhnout pomocí LibreOfficeDev UNO API, využitím servisních rutin ScriptForge.Basic nebo použitím mezijazykových volání Pythonu do Basic, jak je popsáno na wiki.


Vlastnosti

Název

Pouze pro čtení

Typ

Popis

numberOfLines

Ne

Boolean

Volitelně přepíše vykreslenou výšku dialogu.


Metody

Seznam metod ve třídě MsgBox

addButton

renderFromBoxSize

renderFromButtonSize

show


addButton

Přidá tlačítko do objektu MsgBox().

Syntaxe:

addButton(caption: str)

Parametry:

caption: Popisek tlačítka.

Příklad:

Viz níže detailní příklad.

renderFromBoxSize

Definuje rozměry dialogového okna MsgBox a také velikost tlačítek podle zadané velikosti.

Syntaxe:

renderFromBoxSize(size=150)

Parametry:

velikost: Dialog size.
Šířka: ( 2 * velikost ) / ( 3 * numberOfbuttons + 1 )
Výška je nastavena podle počtu oddělovačů Newline v textu dialogu.

Příklad:

Viz níže detailní příklad.

renderFromButtonSize

Přizpůsobí rozměry dialogového okna MsgBox podle zadané velikosti tlačítek.

Syntaxe:

renderFromButtonSize(size=50)

Parametry:

velikost: Velikost tlačítek.
Šířka: ( numberOfButtons * 1.5 + 0.5) * velikost
Výška je nastavena podle počtu oddělovačů Newline v textu dialogu.

Příklad:

Viz níže detailní příklad.

show

Zobrazuje varianty MsgBox, například informační okno, varovné okno atd.

Syntaxe:

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

Parametry:

zpráva: Text dialogového okna, který může obsahovat oddělovače Newline (nový řádek).

dekorace: n/a.

popisek: Popisek dialogového okna.

Příklad:

Viz níže detailní příklad.

Podrobný příklad


import uno
from msgbox import MsgBox

if uno: _CTX = uno.getComponentContext()

def my_script():
    response = msgBox('Chcete pokračovat?',('Ano', 'Ne', 'Zrušit'),'Zpráva z Pythonu')
    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='upraveno z msgbox.MsgBox', button='Ahoj', title='modul msgbox'):
    dlg = MsgBox(_CTX)  # uno.getComponentContext()
    dlg.addButton(button)
    dlg.renderFromBoxSize(345)
    dlg.show(prompt,0,title)

g_exportedScripts = (my_script,)  # vstupní body LibreOffice
  
if __name__ == "__main__":  # vstupní bod pro IDE
    from officehelper import SessionManager
    with SessionManager() as ctx:  # Python vzdálený kontext
      _CTX = ctx
      my_script()
Ikona tipu

Služba ScriptForge.Basic poskytuje alternativy MsgBox a InputBox jejichž signatury se velmi shodují s funkcemi Basicu.