შექმენით მარტივი GUI-ები Raspberry Pi-ით EasyGUI-ის გამოყენებით

გრაფიკული მომხმარებლის ინტერფეისის დამატება (GUI) თქვენს Raspberry Pi პროექტი შესანიშნავი გზაა მონაცემთა შეყვანის ეკრანის, საკონტროლო ღილაკების ეკრანზე ან კომპონენტებისგან წაკითხვის ჩვენების უფრო ჭკვიანური ხერხისთვის, როგორიცაა სენსორები.

ეს სტატია იყენებს სტანდარტულ Raspbian ოპერაციულ სისტემას.

შექმენით ინტერფეისი თქვენი პროექტისთვის

Raspberry Pi-სთვის ხელმისაწვდომია GUI-ის რამდენიმე მეთოდი. თუმცა, უმეტესობას აქვს ციცაბო სწავლის მრუდი.

Tkinter Python ინტერფეისი შეიძლება იყოს ნაგულისხმევი ვარიანტი უმეტესობისთვის, მაგრამ დამწყებთათვის შეიძლება ბრძოლა მის სირთულესთან. ანალოგიურად, PyGame ბიბლიოთეკა გთავაზობთ შთამბეჭდავი ინტერფეისების შექმნის შესაძლებლობებს, მაგრამ შეიძლება ზედმეტი იყოს მოთხოვნებზე.

თუ თქვენ ეძებთ სწრაფ და მარტივ ინტერფეისს თქვენი პროექტისთვის, EasyGUI შეიძლება იყოს პასუხი. რაც მას აკლია გრაფიკულ სილამაზეში, ის უფრო მეტად ანაზღაურებს მის სიმარტივესა და მარტივად გამოყენებას.

EasyGUI შეტყობინებების ყუთები

ეს სტატია გთავაზობთ ბიბლიოთეკის შესავალს, მათ შორის რამდენიმე ყველაზე სასარგებლო ვარიანტს, რომელიც ჩვენ ვიპოვეთ.

ჩამოტვირთეთ და შემოიტანეთ EasyGUI

ბიბლიოთეკის ინსტალაცია კარგად იქნება ცნობილი, თუ თქვენ იყენებთ apt-get ინსტალაციის მეთოდს. თქვენ გჭირდებათ ინტერნეტ კავშირი თქვენს Raspberry Pi-ზე, სადენიანი კავშირის გამოყენებით Ethernet ან Ვაი - ფაი კავშირი.

ეს ბრძანება ჩამოტვირთავს ბიბლიოთეკას და დააინსტალირებს მას თქვენთვის. ეს არის ყველაფერი, რაც თქვენ უნდა გააკეთოთ.

  1. გახსენით ტერმინალის ფანჯარა (შავი ეკრანის ხატულა თქვენი Pi-ს დავალების პანელზე) და შეიყვანეთ შემდეგი ბრძანება:

    easygui იმპორტიდან *
    იმპორტის დრო

    EasyGUI-ის იმპორტი

    იმპორტის ეს ვერსია აადვილებს კოდირებას მოგვიანებით. მაგალითად, ამ გზით შემოტანისას, ჩაწერის ნაცვლად easygui.msgbox, შეგიძლიათ გამოიყენოთ msgbox.

  2. მისი უმარტივესი ფორმით, ეს შეტყობინების ყუთი იძლევა ტექსტის ხაზს და ერთი ღილაკის დასაჭერად. აქ არის მაგალითი, რომ სცადოთ. შეიყვანეთ შემდეგი ხაზი თქვენი იმპორტის ხაზის შემდეგ და შეინახეთ გამოყენებით Ctrl+X:

    easygui იმპორტიდან *
    იმპორტის დრო
    msg = "მაგარი ყუთი ჰა?"
    title = "მე ვარ შეტყობინების ყუთი"
     # დაამატეთ სხვა ბრძანებები აქ

    ჩნდება შეტყობინების ყუთი, სადაც მე ვარ შეტყობინებების ყუთი ზედა ზოლში წერია და მაგარი ყუთი ხო? ღილაკის ზემოთ.

    EasyGUI შეტყობინებების ყუთი
  3. ზოგჯერ მოგიწევთ მომხმარებელმა დაადასტუროს მოქმედება ან აირჩიოს გააგრძელოს თუ არა. ccbox ყუთი გთავაზობთ ტექსტის იგივე ხაზს, როგორც პირველადი შეტყობინების ყუთი ზემოთ, მაგრამ შეიცავს ორ ღილაკს: განაგრძეთ და გაუქმება.

    აქ არის გამოყენების მაგალითი, ტერმინალში ბეჭდვის გაგრძელება და გაუქმების ღილაკებით. თქვენ შეგიძლიათ შეცვალოთ მოქმედება ყოველი ღილაკის დაჭერის შემდეგ, რომ გააკეთოთ ის, რაც გსურთ:

    easygui იმპორტიდან *
    იმპორტის დრო
    msg = "გსურთ გაგრძელება?"
    title = "გაგრძელება?"
    if ccbox (msg, title): # show Continue/Cancel დიალოგი
     ბეჭდვა "მომხმარებლის არჩეული გაგრძელება"
     # დაამატეთ სხვა ბრძანებები აქ
     else: # მომხმარებელმა აირჩია გაუქმება
     დაბეჭდეთ "მომხმარებელი გაუქმდა"
     # დაამატეთ სხვა ბრძანებები აქ

    EasyGUI Continue Cancel Box
  4. თუ ჩაშენებული ყუთის ვარიანტები არ მოგცემთ იმას, რაც გჭირდებათ, შექმენით მორგებული ღილაკის ყუთი ღილაკების ყუთი თვისება. ეს შესანიშნავია, თუ თქვენ გაქვთ მეტი ვარიანტი, რომელიც საჭიროებს დაფარვას ან შესაძლოა აკონტროლებთ LED-ების ან სხვა კომპონენტების რაოდენობას UI-ით.

    აქ მოცემულია შეკვეთისთვის სოუსის არჩევის მაგალითი:

    easygui იმპორტიდან *
    იმპორტის დრო msg = "რომელი სოუსი გსურთ?"
    არჩევანი = ["მსუბუქი", "ცხელი", "ექსტრა ცხელი"]
    პასუხი = ღილაკის ყუთი (msg, Choices=არჩევნები) თუ პასუხი == "მსუბუქი":
    პასუხის დაბეჭდვა
    თუ პასუხი == "ცხელი":
    პასუხის დაბეჭდვა
    თუ პასუხი == "ექსტრა ცხელი":
    პასუხის დაბეჭდვა

    EasyGUI ღილაკის ყუთი
  5. ღილაკები შესანიშნავია, მაგრამ ვარიანტების გრძელი სიისთვის, ა არჩევანის ყუთი მისცე მნიშვნელობა. ამ უჯრებში ჩამოთვლილია ხელმისაწვდომი ვარიანტები რიგებში, ერთმანეთის მიყოლებით. ან კარგი და გაუქმება ყუთი გვერდზეა. ისინი საკმაოდ ჭკვიანია, ახარისხებენ ვარიანტებს ანბანურად და ასევე საშუალებას გაძლევთ დააჭიროთ ღილაკს ამ ასოს პირველ ვარიანტზე გადასასვლელად.

    აქ არის მაგალითი, სადაც ნაჩვენებია ათი სახელი, რომლებიც ხედავთ დალაგებულია ეკრანის სურათზე.

    easygui იმპორტიდან *
    იმპორტის დრო
    msg "ვინ გაუშვა ძაღლები?"
    სათაური = "დაკარგული ძაღლები"
    არჩევანი = ["ალექსი", "კატა", "მაიკლ", "ჯეიმსი", "ალბერტი", "ფილ", "იასმინი", "ფრენკი", "ტიმი", "ჰანა"]
    არჩევანი = არჩევანის ყუთი (msg, სათაური, არჩევანი)

    EasyGUI არჩევანის ყუთი
  6. ფორმები შესანიშნავი გზაა თქვენი პროექტისთვის მონაცემების დასაჭერად. EasyGUI აქვს მულტენტერბოქსი ვარიანტი, რომელიც საშუალებას გაძლევთ აჩვენოთ ეტიკეტირებული ველები ინფორმაციის მისაღებად.

    ეს არის ველების მარკირების და შეყვანის შემთხვევა. ქვემოთ მოყვანილი მაგალითი არის მარტივი სპორტული დარბაზი წევრობის რეგისტრაციის ფორმა.

    არსებობს ვალიდაციის და სხვა მოწინავე ფუნქციების დამატების ვარიანტები, რომლებსაც EasyGUI ვებსაიტი დეტალურად მოიცავს.

    easygui იმპორტიდან *
    იმპორტის დრო
    msg = "წევრის ინფორმაცია"
    title = "სპორტდარბაზის წევრობის ფორმა"
    fieldNames = ["სახელი", "გვარი", "ასაკი", "წონა"]
    fieldValues ​​= [] # საწყისი მნიშვნელობები
    fieldValues ​​= multenterbox (msg, სათაური, ველის სახელები)
    ბეჭდვის ველიValues

    EasyGUI Multenterbox
  7. თქვენ შეგიძლიათ დაამატოთ სურათები თქვენს EasyGUI ინტერფეისებში მინიმალური რაოდენობის კოდის ჩათვლით. შეინახეთ სურათი თქვენს Raspberry Pi-ში იმავე დირექტორიაში, როგორც თქვენი EasyGUI სკრიპტი და ჩაწერეთ ფაილის სახელი და გაფართოება (მაგალითად, image1.png).

    მაგალითად, ღილაკის ყუთის გამოყენება:

    easygui იმპორტიდან *
    იმპორტის დრო
    image = "RaspberryPi.jpg"
    msg = "ეს არის Raspberry Pi?"
    არჩევანი = ["დიახ", "არა"]
    პასუხი = ღილაკის ყუთი (msg, image=image, options=არჩევნები)
    თუ პასუხი == "დიახ":
    დაბეჭდე "დიახ"
    სხვა:
    დაბეჭდე "არა"

    EasyGUI სურათები

მეტი გაფართოებული ფუნქციები

არსებობს მეტი ყუთის ვარიანტები და მაგალითები, რაც დამოკიდებულია იმაზე, თუ რამდენის სწავლა გსურთ და რას მოითხოვს თქვენი პროექტი.

EasyGUI პაროლი

რამდენიმეს დასასახელებლად ხელმისაწვდომია პაროლის ველები, კოდის ველები და ფაილების ველები. ეს არის მრავალმხრივი ბიბლიოთეკა, რომლის აღებაც მარტივია წუთებში, ასევე შესანიშნავი ტექნიკის კონტროლის შესაძლებლობებით.

თუ გსურთ ისწავლოთ სხვა ნივთების კოდირება, როგორიცაა Java, HTML ან სხვა, შეამოწმეთ საუკეთესო ონლაინ კოდირების რესურსები.