显示模块/Display

用于显示各种内容,包含数字,英文,中文等,还可以进行简单画图展示。
侧边的翻页按键,用于切换不同页的显示内容

显示内容

Display.print(row, column, *content)
在某个位置显示内容
参数:
  • row (int) – 显示行数:1~16
  • column (int) – 显示列数:1~15
  • text (str) – 显示内容,可以是字符串,整数,小数

Examples

# 显示各种不同内容
from wonderbits import Display
display1 = Display()

# 在第1行第1列显示字符串 'Hello'
display1.print(1, 1, 'Hello')

# 在第1行第10列显示浮点型数字 -3.14
display1.print(1, 10, -3.14)

# 在第2行第1列显示变量
temp = 10
temp = temp + 3
display1.print(2, 1, temp)

清除显示

Display.clear_page(page=1)
清除某页显示的内容
参数:page (int) –

清除的页码:1~8

默认第1页

Examples

# 清除某页显示内容
from wonderbits import Display
display1 = Display()

display1.print(1,1,'somthing...')

# 清除第1页
display1.clear_page(1)

display1.print(2,1,'clear')
# 观察实验效果,你会发现'something...'闪一下就消失了
# 只剩'clear',因为之前的内容被清除了

画折线图

Display.draw_chart(x, y, page=1)
以上次传入的坐标为起点,本次坐标为终点画线段。如果是首次使用,则只画单个点
参数:
  • x (int) – X轴坐标:1~119
  • y (int) – Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认画点在第1页

Examples

# 根据坐标画一组折线
from wonderbits import Display
display1 = Display()

# 定义一堆点坐标
dots =[(1,20),(5,30),(10,5),(15,40),(25,1)]

# 将所有点取出来画折线
for dot in dots:
    display1.draw_chart(dot[0],dot[1])

设置显示方向

Display.set_direction(dir=True)
True:设置显示方向为系统默认显示方向
False:设置显示方向为翻转显示方向,使用该函数后显示内容将会进行180°翻转
参数:dir (bool) –

方向参数:

False: 设置显示方向为翻转显示方向,使用该函数后显示内容将会进行180°翻转
True: 设置显示方向为系统默认显示方向

Examples

# 通过按钮控制翻转显示
from wonderbits import Display
display1 = Display()

# 先禁止翻页功能,否则按钮拨动时会翻页显示
display1.set_page_turning(False)

display1.print(1, 1, 'TEST 123')

# 实时监测翻页按钮状态,向左拨动时翻转显示,向右拨动时正常显示
while True:
    if display1.get_button_state() == 2:
        display1.set_direction(True)

    if display1.get_button_state() == 4:
        display1.set_direction(False)

转到某页

Display.turn_to_page(page=1)
转到某页
参数:page (int) – 页码:1~8

Examples

# 转到某页查看内容
from wonderbits import Display
import time
display1 = Display()

display1.print(1,1,'Page1 test') # 在第1页显示'Page1 test'
display1.print(3,1,'this is Page2') # 在第2页(每页只能显示2行,所以第3行就是在第2页了)显示'this is Page2'

while True:
    # 转到第2页查看显示内容
    display1.turn_to_page(2)
    time.sleep(2) # 等待2秒

    # 转到第1页查看显示内容
    display1.turn_to_page(1)
    time.sleep(2) # 等待2秒

获取翻页按钮状态

Display.get_button_state()
返回:
翻页按钮状态
BUTTON_NONE:没有按键按下,值为1
BUTTON_L:左键按下,值为2
BUTTON_R:右键按下,值为4
BUTTON_M:中键按下,值为8
返回类型:int

Examples

# 实时显示翻页按钮状态
from wonderbits import Display
display1 = Display()

# 先禁止翻页功能,否则按钮拨动时会翻页显示
display1.set_page_turning(False)

# 实时显示状态值
while True:
    display1.print(1, 1, display1.get_button_state())

设置翻页按键

Display.set_page_turning(state=True)
True:开启翻页按键功能
False:禁止翻页按键功能
禁止翻页按键功能后将不能通过翻页按键来切换不同页码的显示内容
系统默认开启翻页按键功能
参数:state (bool) –

使能按键参数:

False: 禁止翻页按键功能
True: 开启翻页按键功能

Examples

未提供。可参考 get_button_state 的使用案例

设置页码滚动指示条

Display.set_scrollbar(state=True)
True:显示页码滚动指示条
False:隐藏页码滚动指示条(屏幕右边的白色小点,用于指示当前页码)
系统默认显示页码滚动指示条
隐藏后每行最大显示字符数由15变为16
参数:state (bool) –

控制参数:

False: 隐藏页码滚动指示条
True: 显示页码滚动指示条

Examples

# 通过按钮控制是否显示页码指示条
from wonderbits import Display
display1 = Display()

# 先禁止翻页功能,否则按钮拨动时会翻页显示
display1.set_page_turning(False)

# 实时监测翻页按钮状态,向左拨动时隐藏页码指示条,向右拨动时显示页码指示条,并显示16个字符内容
while True:
    if display1.get_button_state() == 2:
        display1.set_scrollbar(False)
        display1.print(1, 1, '0123456789abcdef')

    if display1.get_button_state() == 4:
        display1.set_scrollbar(True)
        display1.print(1, 1, '0123456789abcdef')

清除全部显示

Display.clear_all_pages(block=False)
清除全部8页显示的内容
参数:block (bool) –

阻塞参数:

False: 不阻塞
True: 阻塞

Examples

# 清除所有显示内容
from wonderbits import Display
display1 = Display()

# 在清除之前显示一些文字
display1.print(1,1,'somthing1...')
display1.print(3,1,'somthing2...')
display1.print(5,1,'somthing3...')

# 清除第1页
display1.clear_all_pages()

display1.print(2,1,'clear')
# 观察实验效果你会发现只剩'clear',因为之前的内容被清除了

在指定坐标画一个点

Display.draw_dot(x, y, page=1)
在画点的页使用print函数会导致已经画过的点消失
切换到不同的页码在回到画点的页码也会导致已经画过的点消失
参数:
  • x (int) – X轴坐标:1~119
  • y (int) – Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认第1页

Examples

# 在屏幕上画一条直线(y=x/4)上的点集合
from wonderbits import Display
display1 = Display()

for x in range(1, 119):
    display1.draw_dot(x, x/4)

通过给定坐标画线段

Display.draw_line(head_x, head_y, tail_x, tail_y, page=1)
在画线的页使用print函数会导致已经画过的线消失
切换到不同的页码在回到画线的页码也会导致已经画过的线消失
参数:
  • head_x (int) – 起始点X轴坐标:1~119
  • head_y (int) – 起始点Y轴坐标:1~32
  • tail_x (int) – 终止点X轴坐标:1~119
  • tail_y (int) – 终止点Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认第1页

Examples

# 在屏幕上画两条线,将屏幕分为四份
from wonderbits import Display
display1 = Display()

# 在第1页以 (1, 16) 为起点, (119, 16) 为终点画一条直线
display1.draw_line(1, 16, 119, 16)

# 在第1页以 (60, 1) 为起点, (60, 32) 为终点画一条直线
display1.draw_line(60, 1, 60, 32)

禁止自动刷新显示功能

Display.disable_auto_refresh()
禁止自动刷新后,只能调用刷新函数refresh() 才能改变显示内容
系统默认开启自动刷新显示功能

Examples

# 通过按钮控制是否启用自动刷新功能
from wonderbits import Display
display1 = Display()

# 先禁止翻页功能,否则按钮拨动时会翻页显示
display1.set_page_turning(False)

# 禁止自动刷新显示功能
display1.disable_auto_refresh()

# 使用print功能将不会再显示屏上出现'hello'
display1.print(1, 1, 'hello')

num = 0

while True:

    # 在第2行持续刷新显示num的数值,num一直在增长
    num = num + 1
    display1.print(2, 1, num)

    if display1.get_button_state() == 2:
        display1.disable_auto_refresh() # 再次确保关闭自动刷新功能
        display1.refresh()

    if display1.get_button_state() == 4:
        display1.enable_auto_refresh()

    # 实验现象应该是,当翻页按钮向左拨动时,每次拨动都会更新一次显示数字,不拨动时数字显示不会变化
    # 当翻页按钮向右拨动后,数值会持续自己刷新

开启自动刷新显示功能

Display.enable_auto_refresh()
系统默认开启自动刷新显示功能

Examples

未提供。可参考 disable_auto_refresh 的使用案例

更新一次显示内容

Display.refresh()
在禁止自动刷新显示功能后只能靠此函数来更新显示内容
系统默认开启自动刷新显示功能

Examples

未提供。可参考 disable_auto_refresh 的使用案例

在指定坐标画一个点

Display.draw_save_dot(x, y, page=1)
画点后始终存在,可以使用清屏擦除
可与print在同一页显示,显示位置冲突时以画点内容为主
参数:
  • x (int) – X轴坐标:1~119
  • y (int) – Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认第1页

Examples

# 在屏幕上画一条直线(y=x/4)上的点集合
from wonderbits import Display
display1 = Display()

for x in range(1, 119):
    display1.draw_save_dot(x, x/4)

通过给定坐标画线段

Display.draw_save_line(head_x, head_y, tail_x, tail_y, page=1)
画线后始终存在,可以使用清屏擦除
可与print在同一页显示,显示位置冲突时以画线内容为主
参数:
  • head_x (int) – 起始点X轴坐标:1~119
  • head_y (int) – 起始点Y轴坐标:1~32
  • tail_x (int) – 终止点X轴坐标:1~119
  • tail_y (int) – 终止点Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认第1页

Examples

# 在屏幕上画两条线,将屏幕分为四份
from wonderbits import Display
display1 = Display()

# 在第1页以 (1, 16) 为起点, (119, 16) 为终点画一条直线
display1.draw_save_line(1, 16, 119, 16)

# 在第1页以 (60, 1) 为起点, (60, 32) 为终点画一条直线
display1.draw_save_line(60, 1, 60, 32)

画折线图

Display.draw_save_chart(x, y, page=1)
以上次传入的坐标为起点,本次坐标为终点画线段。如果是首次使用,则只画单个点
参数:
  • x (int) – X轴坐标:1~119
  • y (int) – Y轴坐标:1~32
  • page (int) –

    显示页数:1~8

    默认画点在第1页

Examples

# 根据坐标画一组折线
from wonderbits import Display
display1 = Display()

# 定义一堆点坐标
dots =[(1,20),(5,30),(10,5),(15,40),(25,1)]

# 将所有点取出来画折线
for dot in dots:
    display1.draw_save_chart(dot[0],dot[1])

显示大字体内容

事件源

Display.Display.source_button

button事件源