getServiceManager Python Writer

Автор Ципихович Эндрю, 17 января 2024, 16:13

0 Пользователи и 1 гость просматривают эту тему.

Ципихович Эндрю

здравствуйте код:
# -*- coding: utf-8 -*-
# импортирует функцию unicode_literals
from __future__ import unicode_literals

def consoleDlg():
# получение контекста компонента из глобального объекта XSCRIPTCONTEXT
# контекст компонента используется для доступа к различным сервисам
    ctx =XSCRIPTCONTEXT.getComponentContext()
# получить диспетчер служб из контекста компонента, используется для создания новых объектов и доступа к существующим
    smgr = ctx.getServiceManager()
# создаёт экземпляр службы com.sun.star.awt.DialogProvider
# этот сервис предоставляет методы для создания диалогов и управления ими
    dp = smgr.createInstanceWithContext("com.sun.star.awt.DialogProvider", ctx)
# создаёт диалог по указанному URI
# URI — это уникальный идентификатор шаблона диалогового окна
# параметр location=application указывает, что диалог должен создаваться в контексте приложения
# это значит, что он будет виден всем пользователям приложения
    dlg = dp.createDialog( "vnd.sun.star.script:Access2Base.dlgTrace?location=application")
# запускает диалог, диалог будет отображен и доступен пользователю
    dlg.execute()
# удалить диалог, диалог будет удален из памяти
    dlg.dispose()

g_exportedScripts = (consoleDlg,)
я брал код: https://help.libreoffice.org/6.4/ru/text/sbasic/python/python_dialogs.html?&DbPAR=BASIC&System=WIN то есть из справки и что-то очень скудно для справки
а так - краткость сестра таланта....
6 строк кода - на выходе GUI в котором три кнопки, подсказки, чекбокс, поле выбора - всего и не перечислишь-круть...
где про это почитать подробней? спасибо

sokol92

Лучше всего про это написано в книге Питоньяка OOME_4_0.odt.
Книга рассчитана на читателей с разным уровнем подготовки, поэтому читать ее можно (нужно) многократно.  :)

Что же касается приведенного выше диалога - откройте в BasicIDE описание диалога:
Макросы и диалоги приложения / Access2Base / dlgTrace
и изучайте объекты управления этого диалога.
Про библиотеку Access2Base много написано в документации, есть также отдельный сайт. Я этой библиотекой не пользуюсь.




Владимир.

Ципихович Эндрю