Освой MicroPython играючи

Сайт Александра Климова

Шкодим

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

M5Stack: Модуль m5ui (MicroPython)

Модуль m5ui содержит несколько удобных визуальных инструментов для отображения на экране.


from m5ui import *

Состав модуля:

Класс M5Button
Класс M5Circle
Класс M5Img
Класс M5Line
Класс M5Rect
Класс M5TextBox
Класс M5Title
Класс M5Triangle
Метод setScreenColor()

Класс M5Button

Описание отсутствует.

Класс M5Circle

Класс M5Circle выводит круг в заданной части экрана. Все настройки можно указать в конструкторе класса. Затем можно менять через методы. Цвета: 0x000000 ~ 0xffffff. Можно не указывать последний аргумент для окантовки круга, в этом случае цвет окантовки будет равен цвету самого круга.


M5Circle(x, y, r, fillColor, [borderColor])
  • hide()
  • setBgColor()
  • setBorderColor()
  • setPosition()
  • setSize()
  • show()

from m5ui import *
#from m5ui import M5Circle

setScreenColor(0xf50633)

circle = M5Circle(260, 85, 50, 0xe54f96, 0x2b1ecc)
circle.setBorderColor(0xefff96)

// Разные варианты установки позиции
circle.setPosition(x=0, y=0)
circle.setPosition(x=0)
circle.setPosition(y=0)

Класс M5Img

Класс M5Img позволяет отобразить картинку на экране. Поддерживаются форматы JPG и BMP.


M5Img(x, y, path, visibility)
  • changeImg()
  • hide()
  • setPosition()
  • show()

from m5ui import *

setScreenColor(0xf50633)

image = M5Img(110, 70, "res/default.jpg", True)

// Меняем картинку
path = 'res/cat.jpg'
image.changeImg(path)

// Устанавливаем позицию разными способами
image.setPosition(x=0, y=0)
image.setPosition(y=0)
image.setPosition(x=0)

Класс M5Line

Класс M5Line рисует линию заданного цвета и размера.

  • hide()
  • setColor()
  • setSize()
  • show()

from m5ui import *

line0 = M5Line(M5Line.PLINE, 100, 165, 170, 165, 0xFFFFFF)

Класс M5Rect

Класс M5Rect выводит прямоугольник в заданной части экрана. Все настройки можно указать в конструкторе класса. Затем можно менять через методы. Цвета: 0x000000 ~ 0xffffff.


M5Rect(x, y, width, height, fillColor, borderColor)
  • hide()
  • setBgColor()
  • setBorderColor()
  • setPosition()
  • setSize()
  • show()

from m5ui import *

setScreenColor(0xf50633)

rectangle = M5Rect(10, 30, 150, 100, 0x2bc766, 0xffffff)

// Меняем позицию разными способами.

rectangle.setPosition(0, 10) rectangle.setPosition(x=10, y=10) rectangle.setPosition(x=10) rectangle.setPosition(y=10) // Меняем размеры разными способами rectangle.setSize(width=10, height=10) rect.setSize(height=10) rect.setSize(width=10)

Класс M5TextBox

Класс M5TextBox выводит текст в заданной части экрана, можно указать угол поворота (0 ~ 360), шрифт, цвет. Все настройки можно указать в конструкторе класса. Затем можно менять через методы.


M5TextBox(x, y, text, font, color, [rotate=0])
  • hide()
  • setColor()
  • setFont()
  • setPosition()
  • setRotate()
  • setText()
  • show()

Шрифты определены в другом модуле, поэтому добавляем ещё один импорт.


from m5ui import *
from m5stack import *

setScreenColor(0xf50633)

label = M5TextBox(20, 15, "Кто сказал мяу?", lcd.FONT_UNICODE,0xf4e8e8, rotate=30)

label.setPosition(x=10, y=10)
label.setPosition(x=10)
label.setPosition(y=10)

Класс M5Title

Класс M5Title выводит текст в верхней части экрана. Все настройки можно указать в конструкторе класса. Затем можно менять через методы. Длина текста не должна превышать 50 символов. Цвета: 0x000000 ~ 0xffffff.


M5Title(title=text, fgcolor=color1, bgcolor=color2)
  • hide()
  • setBgColor()
  • setFgColor()
  • setTitle()
  • show()

from m5ui import *

setScreenColor(0xf50633)

title = M5Title(title="Title", x=3 , fgcolor=0xFFFFFF, bgcolor=0x0000FF)
title.setTitle("Meow") // меняем заголовок

Класс M5Triangle

Класс M5Triangle рисует треугольник в заданном месте.

  • hide()
  • setBgColor()
  • setBorderColor()
  • setSize()
  • show()

from m5ui import *

triangle = M5Triangle(123, 82, 92, 111, 152, 111, 0xFFFFFF, 0xFFFFFF)

Метод setScreenColor()

Метод setScreenColor() устанавливает цвет дисплея. Цвета: 0x000000 ~ 0xffffff.


from m5ui import *

setScreenColor(0xf50633)
Реклама