Перейти к содержанию

Модуль графического интерфейса: различия между версиями

Материал из Химсофт Вики
 
(не показано 27 промежуточных версий этого же участника)
Строка 23: Строка 23:


===<code>makeInput()</code>===
===<code>makeInput()</code>===
Создание однострочного поля ввода с указанным типом
Создание однострочного поля ввода с указанным типом.


<code>type: InputType</code> - тип поля ввода;
<code>type: InputType</code> - тип поля ввода;
Строка 34: Строка 34:


===<code>makeCombo()</code>===
===<code>makeCombo()</code>===
Создание поля ввода в виде выпадающего списка
Создание поля ввода в виде выпадающего списка.


<code>return: InputCombo</code> Созданный элемент выпадающего списка
<code>return: InputCombo</code> - созданный элемент выпадающего списка.


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
Строка 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>true</code> - если пользователь нажал <code>ОК</code>, <code>false</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>===
Наименование поля, отображается слева.


==Класс InputCombo==
<code>label: string</code>;


==Функция openFile()==
===<code>isReadOnly</code>===
Флаг - поле только для чтения.


==Функция openFiles()==
<code>isReadOnly: boolean</code>;


==Функция saveFile()==
===<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> Предупреждение


==Функция createSplashWindow()==
<code>Icons.INFO</code> Информация


==Пространство имен MessageBox==
===Дополнительные настройки===
<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 Принудительный вывод окна сообщения на переднем плане