MicroPython Nano-GUI 项目教程
1. 项目的目录结构及介绍
MicroPython Nano-GUI 项目的目录结构如下:
micropython-nano-gui/
├── LICENSE
├── README.md
├── examples/
│ ├── __init__.py
│ ├── button_demo.py
│ ├── checkbox_demo.py
│ ├── label_demo.py
│ ├── listbox_demo.py
│ ├── meter_demo.py
│ ├── progress_demo.py
│ ├── slider_demo.py
│ ├── switch_demo.py
│ └── textbox_demo.py
├── nano_gui/
│ ├── __init__.py
│ ├── button.py
│ ├── checkbox.py
│ ├── label.py
│ ├── listbox.py
│ ├── meter.py
│ ├── progress.py
│ ├── slider.py
│ ├── switch.py
│ └── textbox.py
└── setup.py
目录结构介绍
LICENSE
: 项目的许可证文件。README.md
: 项目的说明文档。examples/
: 包含多个示例程序,展示了如何使用 Nano-GUI 库中的各个组件。nano_gui/
: 包含 Nano-GUI 库的核心代码,每个文件对应一个 GUI 组件。setup.py
: 项目的安装脚本。
2. 项目的启动文件介绍
项目的启动文件通常是 examples/
目录下的某个示例程序。例如,button_demo.py
是一个展示按钮组件的示例程序。
启动文件示例
以下是 button_demo.py
的部分代码:
from machine import Pin, SPI
import st7789
import tft_config
import nano_gui as gui
# 配置 SPI 和 TFT 显示屏
spi = SPI(2, baudrate=30000000, polarity=1, phase=0, sck=Pin(18), mosi=Pin(19))
tft = st7789.ST7789(spi, 240, 240, reset=Pin(23, Pin.OUT), cs=Pin(5, Pin.OUT), dc=Pin(21, Pin.OUT), backlight=Pin(4, Pin.OUT), rotation=0)
# 初始化 Nano-GUI
gui.init(tft)
# 创建按钮
button = gui.Button(10, 10, 100, 50, "Click Me")
# 主循环
while True:
button.update()
启动文件介绍
machine
模块用于配置硬件接口。st7789
模块用于驱动 TFT 显示屏。tft_config
模块包含 TFT 显示屏的配置信息。nano_gui
模块是 Nano-GUI 库的主模块。button_demo.py
文件创建了一个按钮并进入主循环,不断更新按钮状态。
3. 项目的配置文件介绍
项目的配置文件通常是 tft_config.py
,它包含了 TFT 显示屏的配置信息。
配置文件示例
以下是 tft_config.py
的部分代码:
from machine import Pin, SPI
import st7789
def config():
spi = SPI(2, baudrate=30000000, polarity=1, phase=0, sck=Pin(18), mosi=Pin(19))
tft = st7789.ST7789(spi, 240, 240, reset=Pin(23, Pin.OUT), cs=Pin(5, Pin.OUT), dc=Pin(21, Pin.OUT), backlight=Pin(4, Pin.OUT), rotation=0)
return tft
配置文件介绍
config
函数用于配置 SPI 接口和 TFT 显示屏。SPI
类用于配置 SPI 接口。st7789
模块用于驱动 TFT 显示屏。Pin
类用于配置 GPIO 引脚。config
函数返回一个配置好的 TFT 显示屏