Хорошо, я мог зайти слишком далеко с этим. Я хотел бы привести несколько обновленных примеров моего старого поста здесь(перевод).

Итак, я создал один проект, который включает в себя примеры кнопочного ввода, ввода через карту изображения, а затем я немного повеселился с последним, который состоит из нескольких текстовых вводов на одном экране. Последнее немного более интерактивное... небольшая идея только продолжала расти, и теперь я думаю, что мне, возможно, придется создать шаблон рабочего стола компьютера или что-то, с чем другие могут повеселиться.


Загрузите проект, который включает в себя гораздо больше информации и стилей (и третий экран в виде рабочего стола компьютера для развлечения)
### Скачать можно в оригинальной теме
или
Скачать с GitHub

Я предоставлю простую версию здесь:


Переменная, которую мы будем использовать для хранения ввода пользователя и используемой функции, которая выполняет фактическое сохранение.
Код
init:
    default myinput_1 = ""

init python:
    def change_myinput1(newstring):                    
        store.myinput_1 = newstring


Экран с кнопкой ввода
Код
screen simple_button_input():
    default input_on = False
    modal True

    frame:
        xalign 0.5
        yalign 0.5
        vbox:
            text "Click to type!"
            button:
                background Frame(Solid("#ffc"))
                xsize 400
                if input_on:                    
                    input default myinput_1 changed change_myinput1
                    action SetScreenVariable("input_on", False)      
                else:
                    text myinput_1                    
                    action SetScreenVariable("input_on", True)             

            textbutton "close" action Hide("simple_button_input")

### "Click to type" - "Нажми, чтобы ввести"

Ввод при помощи карты изображения


Ничего нового здесь
Код
init:
    default myinput_2 = ""

init python:
    def change_myinput2(newstring):                    
        store.myinput_2 = newstring


Карта изображения с текстовым вводом
Код
screen simple_imagemap_input():
    default input_on = False
    modal True

    imagemap:
        ground "images/post-it.png"
        hover "images/post-it_hovered.png"

        hotspot(785, 390, 350, 300) action ToggleScreenVariable("input_on", True)

        if input_on:
            input default myinput_2 changed change_myinput2 pos(830,480) xsize 300 length 50
        else:
            text myinput_2 area(830,480, 300,250)

        textbutton "close" pos(785, 735) action Hide("simple_imagemap_input")


Некоторые хорошие вещи, которые нужно знать:
default(по умолчанию) - значение по умолчанию для ввода (в данном случае, самой переменной)
length(длина) - максимальное количество символов, которое пользователь может ввести
pixel_width(ширина в пикселях) - максимальная ширина в пикселях для пользовательского ввода
allow(разрешено) - список строк символов, которые пользователь может вводить
exclude(исключение) - список строк символов, которые пользователь не может вводить

Также: если у вас есть какие-либо вопросы по поводу примеров в github / ZIP-версии, не стесняйтесь спрашивать, и я могу объяснить их более подробно. Все ресурсы в ZIP-архиве бесплатны, они также включают PSD-файлы для изображений. Вам не нужно указывать меня, если вы используете что-либо, но если вы хотите, тогда укажите LunaLucid или Namastaii :joke:

Автор на Lemma Soft: namastaii
Тема на Lemma Soft: тут
Перевёл: progxaker