Модуль графического интерфейса: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| (не показано 25 промежуточных версий этого же участника) | |||
| Строка 43: | Строка 43: | ||
===<code>setTitle()</code>=== | ===<code>setTitle()</code>=== | ||
Установка заголовка окна диалога | Установка заголовка окна диалога. | ||
<code>title: string</code> | <code>title: string</code> - заголовок окна. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 52: | Строка 52: | ||
===<code>setBackground()</code>=== | ===<code>setBackground()</code>=== | ||
Установка цвета фона диалога | Установка цвета фона диалога. | ||
<code>color: string HEX</code> код цвета или его название | <code>color: string HEX</code> - код цвета или его название. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 61: | Строка 61: | ||
===<code>setMinimumWidth()</code>=== | ===<code>setMinimumWidth()</code>=== | ||
Установка минимальной ширина диалога | Установка минимальной ширина диалога. | ||
<code>width: number</code> | <code>width: number</code> - ширина в пикселях. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 70: | Строка 70: | ||
===<code>setMinimumHeight()</code>=== | ===<code>setMinimumHeight()</code>=== | ||
Установка минимальной высоты диалога | Установка минимальной высоты диалога. | ||
<code>height: number</code> | <code>height: number</code> - высота в пикселях. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 79: | Строка 79: | ||
===<code>on()</code>=== | ===<code>on()</code>=== | ||
Установка обработчика события | Установка обработчика события. | ||
<code>event: string</code> | <code>event: string</code> - имя события; | ||
<code>handler: function</code> | <code>handler: function</code> - функция, вызываемая для обработки события. | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 90: | Строка 90: | ||
===<code>show()</code>=== | ===<code>show()</code>=== | ||
Вызывает сформированный диалог и возвращает результат | Вызывает сформированный диалог и возвращает результат. | ||
<code>return: boolean</code> | <code>return: boolean</code> - результат действий пользователя (<code>true</code> - если пользователь нажал <code>ОК</code>, <code>false</code> - в любой другой ситуации). | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
| Строка 99: | Строка 99: | ||
==Класс InputElement== | ==Класс InputElement== | ||
===<code>label</code>=== | |||
Наименование поля, отображается слева. | |||
<code>label: string</code>; | |||
== | ===<code>isReadOnly</code>=== | ||
Флаг - поле только для чтения. | |||
<code>isReadOnly: boolean</code>; | |||
== | ===<code>value</code>=== | ||
Текущее значение поля ввода. | |||
==Функция showPopup()== | <syntaxhighlight lang="javascript"> | ||
value: null | number | boolean | string | Date; | |||
</syntaxhighlight> | |||
===<code>on()</code>=== | |||
Установка обработчика события. | |||
<code>event: string</code> - имя события; | |||
<code>handler: function</code> - функция, вызываемая для обработки события. | |||
<syntaxhighlight lang="javascript"> | |||
on(event: 'change', handler: (value: null | number | boolean | string | Date) => void): void; | |||
</syntaxhighlight> | |||
===<code>setBackground()</code>=== | |||
Установка цвета фона элемента ввода. | |||
<code>color: string</code> - HEX код цвета или его название. | |||
<syntaxhighlight lang="javascript"> | |||
setBackground(color: string): void; | |||
</syntaxhighlight> | |||
==Класс <code>InputCombo</code>== | |||
Нужен для: наследует <code>InputElement</code>. | |||
===<code>selectedIndex</code>=== | |||
Порядковый номер выбранного элемента из выпадающего списка | |||
<syntaxhighlight lang="javascript"> | |||
selectedIndex: number | null | |||
</syntaxhighlight> | |||
===<code>addValues()</code>=== | |||
Добавление элементов в выпадающий список | |||
<code>values: Array<number | boolean | string | Date></code> Массив элементов (элементы преобразуются в строку после установки) | |||
<syntaxhighlight lang="javascript"> | |||
addValues(values: Array<number | boolean | string | Date>): void; | |||
</syntaxhighlight> | |||
===<code>clear()</code>=== | |||
Очистка содержимого выпадающего списка | |||
<syntaxhighlight lang="javascript"> | |||
clear(): void; | |||
</syntaxhighlight> | |||
==Функция <code>openFile()</code>== | |||
Выводит диалог выбора файла (единичного) для открытия | |||
<code>defaultDirectory: string | null</code> Директория по умолчанию | |||
<code>filters: string</code> Фильтры для списка файлов | |||
Пример: <code>Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)</code> | |||
<code>return: string | null</code> Путь к выбранному файлу | |||
<syntaxhighlight lang="javascript"> | |||
function openFile(defaultDirectory: string | null, filters?: string): string | null; | |||
</syntaxhighlight> | |||
==Функция <code>openFiles()</code>== | |||
Выводит диалог выбора файлов для открытия | |||
<code>defaultDirectory: string | null</code> Директория по умолчанию | |||
<code>filters: string</code> Фильтры для списка файлов | |||
Пример: <code>Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)</code> | |||
<code>return: string[] | null</code> Путь к выбранному файлу | |||
<syntaxhighlight lang="javascript"> | |||
function openFiles(defaultDirectory: string | null, filters?: string): string[] | null; | |||
</syntaxhighlight> | |||
==Функция <code>saveFile()</code>== | |||
Выводит диалог выбора пути к сохраняемому файлу | |||
<code>defaultDirectory: string | null</code> Директория по умолчанию | |||
<code>filters: string</code> Фильтры для списка файлов | |||
Пример: <code>Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)</code> | |||
<code>return: string[] | null</code> Путь к сохраняемому файлу | |||
<syntaxhighlight lang="javascript"> | |||
function saveFile(defaultDirectory: string | null, filters?: string): string | null; | |||
</syntaxhighlight> | |||
==Функция <code>showPopup()</code>== | |||
Выводит всплывающее уведомление в нижней правой части экрана | |||
<code>content: any</code> Данные для вывода во всплывающем сообщении | |||
<code>options: PopupOptions</code> Параметры всплывающего сообщения | |||
<syntaxhighlight lang="javascript"> | |||
function showPopup(content: any, options?: PopupOptions): void; | |||
</syntaxhighlight> | |||
===Параметры для всплывающих окон=== | |||
<syntaxhighlight lang="javascript"> | |||
interface PopupOptions { | |||
isAutoHide: boolean; // Скрывать ли окно автоматически | |||
} | |||
</syntaxhighlight> | |||
==Функция <code>createSplashWindow()</code>== | |||
Создает окно с индикатором загрузки | |||
Доступно только при наличии splash.exe | |||
<code>text: string</code> Подпись к индикатору | |||
<code>return: SplashWindow</code> | |||
<syntaxhighlight lang="javascript"> | |||
function createSplashWindow(text?: string): SplashWindow; | |||
</syntaxhighlight> | |||
===Интерфейс загрузочного экрана=== | |||
<syntaxhighlight lang="javascript"> | |||
interface SplashWindow { | |||
close: () => void; | |||
} | |||
</syntaxhighlight> | |||
==Пространство имен <code>MessageBox</code>== | |||
Внутри пространства имен содержится функция показа диалогового окна и его параметры для настройки. | |||
===<code>Функция show()</code>=== | |||
<code>text: string</code> текст сообщения <code>title: string</code> заголовок окна <code>flags: Buttons | Icons | Utils</code> запись через битовую операцию или <code>|</code> | |||
<syntaxhighlight lang="javascript"> | |||
function show(text: string, title?: string, flags?: Buttons | Icons): Results; | |||
</syntaxhighlight> | |||
===Возможные результаты=== | |||
<code>Results.ABORT</code> Прервать | |||
<code>Results.CANCEL</code> Отмена | |||
<code>Results.CONTINUE</code> Продолжить | |||
<code>Results.IGNORE</code> Игнорировать | |||
<code>Results.YES</code> Да | |||
<code>Results.NO</code> Нет | |||
<code>Results.OK</code> Ок | |||
<code>Results.RETRY</code> Повтор | |||
<code>Results.TRYAGAIN</code> Повторить | |||
===Настройка кнопок=== | |||
<code>Buttons.ABORT_RETRY_IGNORE</code> Прервать, повтор, пропустить | |||
<code>Buttons.CANCEL_TRY_CONTINUE</code> Отмена, повторить, продолжить | |||
<code>Buttons.OK</code> Ок | |||
<code>Buttons.OK_CANCEL</code> Ок, отмена | |||
<code>Buttons.RETRY_CANCEL</code> Повтор, отмена | |||
<code>Buttons.YES_NO</code> Да, нет | |||
===Настройка иконок=== | |||
<code>Icons.ERROR</code> Ошибка | |||
<code>Icons.QUESTION</code> Вопрос | |||
<code>Icons.WARNING</code> Предупреждение | |||
<code>Icons.INFO</code> Информация | |||
== | ===Дополнительные настройки=== | ||
<code>Utils.ALWAYS_ON_TOP</code> Принудительный вывод окна сообщения на переднем плане | |||
Текущая версия от 01:42, 14 января 2026
Модуль предназначен для создания и вызова разного рода диалоговых окон. Модуль построен на основе библиотеки Qt.
Типы текстовых полей InputType
InputType.STRING - строковое поле ввода;
InputType.DATE - поле для ввода даты;
InputType.TIME - поле для ввода времени;
InputType.DATE_TIME - поле для ввода даты и времени;
InputType.DOUBLE - поле для ввода вещественного числа;
InputType.BOOLEAN - поле для ввода логического значения;
InputType.INT - поле для ввода целочисленного значения.
Цвета текстовых полей ChemicColors
ChemicColors.INPUT_REQUIRED - поле ввода, обязательное для заполнения (желтое).
Класс InputDialog
Класс предназначенный для конструирования произвольных диалогов ввода информации.
makeInput()
Создание однострочного поля ввода с указанным типом.
type: InputType - тип поля ввода;
return: InputElement - созданный элемент ввода.
makeInput(type: InputType): InputElement;
makeCombo()
Создание поля ввода в виде выпадающего списка.
return: InputCombo - созданный элемент выпадающего списка.
makeCombo(): InputCombo;
setTitle()
Установка заголовка окна диалога.
title: string - заголовок окна.
setTitle(title: string): void;
setBackground()
Установка цвета фона диалога.
color: string HEX - код цвета или его название.
setBackground(color: string): void;
setMinimumWidth()
Установка минимальной ширина диалога.
width: number - ширина в пикселях.
setMinimumWidth(width: number): void;
setMinimumHeight()
Установка минимальной высоты диалога.
height: number - высота в пикселях.
setMinimumHeight(height: number): void;
on()
Установка обработчика события.
event: string - имя события;
handler: function - функция, вызываемая для обработки события.
on(event: 'confirm', handler: () => boolean): void;
show()
Вызывает сформированный диалог и возвращает результат.
return: boolean - результат действий пользователя (true - если пользователь нажал ОК, false - в любой другой ситуации).
show(): boolean;
Класс InputElement
label
Наименование поля, отображается слева.
label: string;
isReadOnly
Флаг - поле только для чтения.
isReadOnly: boolean;
value
Текущее значение поля ввода.
value: null | number | boolean | string | Date;
on()
Установка обработчика события.
event: string - имя события;
handler: function - функция, вызываемая для обработки события.
on(event: 'change', handler: (value: null | number | boolean | string | Date) => void): void;
setBackground()
Установка цвета фона элемента ввода.
color: string - HEX код цвета или его название.
setBackground(color: string): void;
Класс InputCombo
Нужен для: наследует InputElement.
selectedIndex
Порядковый номер выбранного элемента из выпадающего списка
selectedIndex: number | null
addValues()
Добавление элементов в выпадающий список
values: Array<number | boolean | string | Date> Массив элементов (элементы преобразуются в строку после установки)
addValues(values: Array<number | boolean | string | Date>): void;
clear()
Очистка содержимого выпадающего списка
clear(): void;
Функция openFile()
Выводит диалог выбора файла (единичного) для открытия
defaultDirectory: string | null Директория по умолчанию
filters: string Фильтры для списка файлов
Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)
return: string | null Путь к выбранному файлу
function openFile(defaultDirectory: string | null, filters?: string): string | null;
Функция openFiles()
Выводит диалог выбора файлов для открытия
defaultDirectory: string | null Директория по умолчанию
filters: string Фильтры для списка файлов
Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)
return: string[] | null Путь к выбранному файлу
function openFiles(defaultDirectory: string | null, filters?: string): string[] | null;
Функция saveFile()
Выводит диалог выбора пути к сохраняемому файлу
defaultDirectory: string | null Директория по умолчанию
filters: string Фильтры для списка файлов
Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)
return: string[] | null Путь к сохраняемому файлу
function saveFile(defaultDirectory: string | null, filters?: string): string | null;
Функция showPopup()
Выводит всплывающее уведомление в нижней правой части экрана
content: any Данные для вывода во всплывающем сообщении
options: PopupOptions Параметры всплывающего сообщения
function showPopup(content: any, options?: PopupOptions): void;
Параметры для всплывающих окон
interface PopupOptions {
isAutoHide: boolean; // Скрывать ли окно автоматически
}
Функция createSplashWindow()
Создает окно с индикатором загрузки
Доступно только при наличии splash.exe
text: string Подпись к индикатору
return: SplashWindow
function createSplashWindow(text?: string): SplashWindow;
Интерфейс загрузочного экрана
interface SplashWindow {
close: () => void;
}
Пространство имен MessageBox
Внутри пространства имен содержится функция показа диалогового окна и его параметры для настройки.
Функция show()
text: string текст сообщения title: string заголовок окна flags: Buttons | Icons | Utils запись через битовую операцию или |
function show(text: string, title?: string, flags?: Buttons | Icons): Results;
Возможные результаты
Results.ABORT Прервать
Results.CANCEL Отмена
Results.CONTINUE Продолжить
Results.IGNORE Игнорировать
Results.YES Да
Results.NO Нет
Results.OK Ок
Results.RETRY Повтор
Results.TRYAGAIN Повторить
Настройка кнопок
Buttons.ABORT_RETRY_IGNORE Прервать, повтор, пропустить
Buttons.CANCEL_TRY_CONTINUE Отмена, повторить, продолжить
Buttons.OK Ок
Buttons.OK_CANCEL Ок, отмена
Buttons.RETRY_CANCEL Повтор, отмена
Buttons.YES_NO Да, нет
Настройка иконок
Icons.ERROR Ошибка
Icons.QUESTION Вопрос
Icons.WARNING Предупреждение
Icons.INFO Информация
Дополнительные настройки
Utils.ALWAYS_ON_TOP Принудительный вывод окна сообщения на переднем плане