Направите једноставне ГУИ са Распберри Пи користећи ЕасиГУИ

Додавање графичког корисничког интерфејса (ГУИ) вашем Распберри Пи пројекат је одличан начин да се укључи екран за унос података, дугмад на екрану за контроле или паметнији начин за приказивање очитавања са компоненти као што су сензори.

Овај чланак користи стандардни Распбиан оперативни систем.

Направите интерфејс за свој пројекат

За Распберри Пи је доступно неколико ГУИ метода. Међутим, већина њих има стрму кривуљу учења.

Ткинтер Питхон интерфејс може бити подразумевана опција за већину, али почетници могу да се боре са његовом сложеношћу. Слично, библиотека ПиГаме нуди могућности за прављење импресивних интерфејса, али може бити вишак у односу на захтеве.

Ако тражите брз и једноставан интерфејс за свој пројекат, ЕасиГУИ би могао бити одговор. Оно што му недостаје у графичкој лепоти, више него надокнађује својом једноставношћу и лакоћом коришћења.

ЕасиГУИ кутије за поруке

Овај чланак даје увод у библиотеку, укључујући неке од најкориснијих опција које смо пронашли.

Преузмите и увезите ЕасиГУИ

Инсталирање библиотеке биће познато ако сте користили метод инсталације апт-гет. Потребна вам је интернетска веза на вашем Распберри Пи-у, користећи било жичану

мрежни или Ви-фи везу.

Ова команда преузима библиотеку и инсталира је за вас. То је све што треба да урадите.

  1. Отворите прозор терминала (икона црног екрана на траци задатака вашег Пи) и унесите следећу команду:

    из еасигуи импорта *
    време увоза

    Увезите ЕасиГУИ

    Ова верзија увоза олакшава касније кодирање. На пример, приликом увоза на овај начин, уместо писања еасигуи.мсгбок, можете користити мсгбок.

  2. У свом најједноставнијем облику, ово оквир за поруке даје ред текста и једно дугме за клик. Ево примера за покушај. Унесите следећи ред после линије за увоз и сачувајте користећи Цтрл+Икс:

    из еасигуи импорта *
    време увоза
    мсг = "Кул кутија, ха?"
    титле = "Ја сам кутија за поруке"
     # Додајте друге команде овде

    Појављује се оквир за поруку, са Ја сам кутија за поруке написано у горњој траци, и Цоол кутија ха? изнад дугмета.

    ЕасиГУИ кутија за поруке
  3. Понекад ће вам бити потребно да корисник потврди радњу или одабере да ли да настави. Оквир ццбок нуди исти ред текста као примарни оквир за поруке изнад, али садржи два дугмета: Настави и Поништити, отказати.

    Ево примера једног у употреби, са дугмадима за наставак и одустајање који се штампају на терминалу. Можете да промените радњу након сваког притиска на дугме да бисте радили шта год желите:

    из еасигуи импорта *
    време увоза
    мсг = "Желите ли да наставите?"
    титле = "Наставити?"
    иф ццбок (мсг, титле): # прикажи дијалог Настави/Откажи
     принт "Корисник је изабран настави"
     # Додајте друге команде овде
     остало: # корисник је изабрао Откажи
     штампај "Корисник отказао"
     # Додајте друге команде овде

    ЕасиГУИ Настави Откажи Бок
  4. Ако вам уграђене опције оквира не дају оно што вам је потребно, креирајте прилагођени оквир са дугмадима користећи дугме одлика. Ово је сјајно ако имате више опција које треба да покрију или можда контролишете низ ЛЕД диода или других компоненти помоћу корисничког интерфејса.

    Ево примера избора соса за поруџбину:

    из еасигуи импорта *
    импорт тиме мсг = "Који сос желите?"
    избори = [„Благо“, „Вруће“, „Изузетно вруће“]
    одговор = поље са дугметом (порука, избори=избори) ако је одговор == "Благо":
    штампај одговор
    ако одговори == "Вруће":
    штампај одговор
    ако одговори == "Ектра Хот":
    штампај одговор

    ЕасиГУИ Буттонбок
  5. Дугмад су одлична, али за дугачке листе опција, а избор кутија има смисла. Ови оквири наводе доступне опције у редовима, једну за другом. Ан У реду и Поништити, отказати кутија је са стране. Они су прилично паметни, сортирају опције по абецедном реду и такође вам омогућавају да притиснете тастер да бисте прешли на прву опцију тог слова.

    Ево примера који приказује десет имена, за која видите да су сортирана на снимку екрана.

    из еасигуи импорта *
    време увоза
    мсг="Ко је пустио псе напоље?"
    титле = "Нестали пси"
    избори = ["Алекс", "Мачка", "Мајкл", "Џејмс", "Алберт", "Фил", "Јасмин", "Френк", "Тим", "Хана"]
    избор = оквир за избор (порука, наслов, избори)

    ЕасиГУИ избор кутија
  6. Обрасци су одличан начин за прикупљање података за ваш пројекат. ЕасиГУИ има а мултентербок опција која вам омогућава да прикажете означена поља да бисте добили информације.

    То је случај означавања поља и хватања уноса. Пример у наставку је за једноставан образац за пријаву за чланство у теретани.

    Постоје опције за додавање валидације и других напредних функција, које веб локација ЕасиГУИ детаљно покрива.

    из еасигуи импорта *
    време увоза
    мсг = "Информације о члану"
    титле = "Образац за чланство у теретани"
    фиелдНамес = ["Име","Презиме","Старост","Тежина"]
    фиелдВалуес = [] # почетне вредности
    фиелдВалуес = мултентербок (порука, наслов, имена поља)
    принт фиелдВалуес

    ЕасиГУИ Мултентербок
  7. Можете додати слике у своје ЕасиГУИ интерфејсе тако што ћете укључити минималну количину кода. Сачувајте слику на свој Распберри Пи у истом директоријуму као и ваша ЕасиГУИ скрипта и забележите име датотеке и екстензију (на пример, имаге1.пнг).

    Користећи оквир са дугмадима као пример:

    из еасигуи импорта *
    време увоза
    имаге = "РаспберриПи.јпг"
    мсг = "Да ли је ово Распберри Пи?"
    избори = ["Да","Не"]
    одговор = оквир са дугметом (порука, слика=слика, избори=избори)
    ако одговори == "Да":
    штампа "Да"
    остало:
    штампа "Не"

    ЕасиГУИ Имагес

Више напредних функција

На располагању је више опција кутија и примера у зависности од тога колико желите да научите и шта ваш пројекат захтева.

ЕасиГУИ Пассворд

Доступне су кутије за лозинке, кутије за кодове и кутије за датотеке, да споменемо само неке. То је разноврсна библиотека коју је лако преузети за неколико минута, са одличним могућностима контроле хардвера.

Ако желите да научите како да кодирате друге ствари као што су Јава, ХТМЛ или више, погледајте најбоље доступне ресурсе за кодирање на мрежи.