LibreOffice SymbolLibreOffice Symbol

Prosimy o wsparcie!

Moduł msgbox

Aby wykonać tę operację...

Otwórz menu Narzędzia - Makra - Menedżer makr.


Opis

Metody klasy MsgBox w module msgbox języka Python upraszczają tworzenie okienek komunikatów przy użyciu funkcji API Abstract Windowing Toolkit. Konstruktor MsgBox tworzy puste okno dialogowe, które można uzupełnić przyciskami i tekstem.

Ikona ostrzeżenia

Ten moduł nie jest częścią obsługiwanego interfejsu API UNO. Dane wyjściowe na ekranie modułu msgbox należy udostępniać wyłącznie w sytuacjach rozwojowych lub testowych.


Ikona wskazówki

Wykonywanie operacji wejścia/wyjścia na ekranie za pomocą języka Python można osiągnąć przy użyciu interfejsu API UNO LibreOfficeDev, korzystając z procedur usługi ScriptForge.Basic lub używając języka Python do wywołań międzyjęzykowych języka Basic, jak opisano na wiki.


Właściwości

Nazwa

Tylko do odczytu

Typ

Opis

numberOfLines

Nie

Boolean

Opcjonalnie zastępuje renderowaną wysokość okna dialogowego.


Metody

Lista metod w klasie MsgBox

addButton

renderFromBoxSize

renderFromButtonSize

show


addButton

Dodaj przycisk do obiektu MsgBox().

Składnia:

addButton(caption: str)

Parametry:

caption: opis przycisku.

Przykład:

Zobacz szczegółowy przykład poniżej.

renderFromBoxSize

Definiuje wymiary okna dialogowego MsgBox oraz rozmiar przycisków zgodnie z określonym rozmiarem.

Składnia:

renderFromBoxSize(size=150)

Parametry:

size: rozmiar okna dialogowego.
Szerokość: ( 2 * size ) / ( 3 * numberOfbuttons + 1 )
Wysokość jest ustawiana na podstawie liczby separatorów Newline w tekście okna dialogowego.

Przykład:

Zobacz szczegółowy przykład poniżej.

renderFromButtonSize

Dostosowuje wymiary okna dialogowego MsgBox do określonego rozmiaru przycisków.

Składnia:

renderFromButtonSize(size=50)

Parametry:

size: rozmiar przycisków.
Szerokość: ( numberOfButtons * 1.5 + 0.5) * size
Wysokość jest ustawiana na podstawie liczby separatorów Newline w tekście okna dialogowego.

Przykład:

Zobacz szczegółowy przykład poniżej.

show

Wyświetla różne warianty MsgBox, takie jak pole informacyjne, pole ostrzegawcze itd.

Składnia:

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

Parametry:

message: tekst wyświetlany w oknie dialogowym może zawierać separatory Newline.

decoration: n/d.

title: podpis okna dialogowego.

Przykład:

Zobacz szczegółowy przykład poniżej.

Szczegółowy przykład


import uno
from msgbox import MsgBox

if uno: _CTX = uno.getComponentContext()

def my_script():
    response = msgBox('Czy chcesz kontynuować?',('Tak', 'Nie', 'Anuluj'),'Komunikat z Pythona')
    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='zaadaptowano z msgbox.MsgBox', button='Witaj', title='Moduł msgbox'):
    dlg = MsgBox(_CTX)  # uno.getComponentContext()
    dlg.addButton(button)
    dlg.renderFromBoxSize(345)
    dlg.show(prompt,0,title)

g_exportedScripts = (my_script,)  # punkty wejścia LibreOffice
  
if __name__ == "__main__":  # punkt wejścia środowisk IDE
    from officehelper import SessionManager
    with SessionManager() as ctx:  # zdalny kontekst Pythona
      _CTX = ctx
      my_script()
Ikona wskazówki

Usługa ScriptForge.Basic udostępnia alternatywy dla funkcji MsgBox i InputBox, których sygnatury ściśle odpowiadają sygnaturom funkcji Basic.