【汇总:儿童教育网站】
本文最后更新于 3 天前,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

儿童教育网站

国家中小学在线学习资源

儿童教育网站01

国家中小学智慧教育平台

北京市海淀区中小学资源平台

北京市空中课堂


在线学习资源

Toy Theater – Fun Online Educational Games for Kids

  • 地址:https://toytheater.com/
  • 说明:在线教育游戏网站,大部分是数学小工具,几乎涵盖了K-3年级数学课程的全部主题。提供了上百款可视化小工具和小游戏,内容覆盖多学科,知识性与趣味性兼备;无需注册,点开即用;国内可以快速打开,体验感极好。

儿童教育网站02

Tinkercad

儿童教育网站03

Scratch – 在线 Scratch 编程

儿童教育网站04

DK Find Out!

中少绘本

十万个为什么

wikiHow

全历史

  • 地址:https://www.allhistory.com/
  • 说明:全历史(Allhistory)以 AI 知识图谱为核心引擎,通过高度时空化、关联化数据的方式构造及展现数字人文内容,尤其是历史知识。

世界数字图书馆

  • 地址:https://www.wdl.org/zh/
  • 说明:提供自公元前8000年以来世界各地各文化的重要原始材料共1200余条目,多种语言界面。

中国科普博览

  • 地址:www.kepu.cn
  • 说明:中国科普博览(简称博览),中国科学院权威出品、专业打造的中科院科普云平台,提供高品质的科普教育与科学文化服务,共享人类科学,与科学同行。

重现化学

  • 地址:www.envisioningchemistry.cn
  • 说明:通过特殊的摄影技术(微距摄影、高速摄影、延时摄影和红外热成像),发现并展现化学之美。

读典籍

  • 地址:https://dudianji.com/
  • 说明:文白对照在线读懂典籍,方便看注释,轻松读典籍!

中文诗歌

古文诗集

  • 地址:https://www.guwenshici.com/
  • 说明:踏上古诗之旅,品读千古文化经典。让古诗文爱好者更便捷地发表及获取古诗文相关资料。

人教教学资源

Timeline of Earth

天空有多高

  • 地址:http://www.secaibi.com/howbigisspace/
  • 说明:BBC Future 给我们制作了一张非常精美的介绍太阳系的交互式网页。我们只需滚动鼠标,就能从地球一步一步向天空迈去,奔向月球,火星,轻松遨游太阳系。

昆虫肖像(Microsculpture)

  • 地址:http://microsculpture.net/
  • 说明:摄影师“Levon Biss”对“牛津大学自然历史博物馆”的昆虫标本进行的微距摄影,图片支持放大,可以看到我们不为人知的昆虫的构造之谜,画师绘画参考也不错。

昆虫肖像

Draw a Stickman

  • 地址:https://drawastickman.com/
  • 说明:画个火柴人(Draw a Stickman: EPIC)是 Android 平台一款简单而又自由的冒险游戏,这里整个世界都自玩家笔下描绘而成,主角是否帅气,世界是否美好,都取决于你的绘画水平。

小学生口算题自动生成程序

田字格笔顺

田字格字帖生成器

简明字帖

  • 地址:https://www.babawar.com/
  • 备用链接:https://book.yan-tie.com/
  • 说明:一款免费在线字帖生成器,提供免费的田字、米字、口字格字帖生成及在线打印功能,可生成汉字字帖、汉字拼音字帖、汉字拼音笔顺字帖、拼音字帖、数字加减运算字帖等。

Z2H字帖

  • 地址:https://paper.z2h.cn/
  • 说明:Z2H = Zero to Hero,超级好用的字帖生成工具。包括语文字帖,英文字帖,控笔练习功能。

汉字笔画生成

import logging
import os
import re
import time
import flet
from PIL import Image
from flet import (
    Page,
    UserControl,
    Text,
    ListView
)
from flet_core import AlertDialog, TextButton
from playwright.sync_api import sync_playwright  # 下载浏览器 playwright install chromium
# 1. 初始化日志记录器
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 2. 定义浏览器User-Agent
USER_AGENT = \
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36'

class ChineseBiHua(UserControl):
    """汉字笔划控件"""

    def __init__(self, page: Page, persistent_browser: bool = True):
        super().__init__(page)
        self.page = page
        self.persistent_browser = persistent_browser  # 是否非无痕模式,默认无痕模式

        # 3. 初始化汉字输入文本框
        self.chinese_word_input = flet.TextField(
            label='待输入汉字(可以空格分割;逗号分隔;不加任何符号.)',
            value='无',
            width=615,
            max_lines=5,
            border_radius=10
        )

        # 4. 初始化汉字图片排序下拉菜单
        self.word_sort_dropdown = flet.Dropdown(
            height=55,
            width=150,
            border_radius=20,
            label="排序",
            text_size=12,
            hint_text="选择需要的顺序",
            value="1",
            options=[
                flet.dropdown.Option(key="1", text="汉字顺序"),
                flet.dropdown.Option(key="2", text="字典顺序"),
            ],
            autofocus=True,
        )

        # 5. 定义显示笔划图片的控件,可以滚动
        self.bihua_scroll_viewer = ListView(expand=1, controls=[flet.Image(
            src='./images/笔画总表.png',
            height=600,
            fit=flet.ImageFit.CONTAIN,
        )], height=600, auto_scroll=True)

    def build(self):
        # 5. 构建页面布局
        layout = [
            # 页面标题
            flet.Row(
                controls=[Text("欢迎使用汉字输出笔划工具!", size=30, color=flet.colors.LIGHT_BLUE_500)],
                alignment=flet.MainAxisAlignment.CENTER,
            ),
            # 汉字输入区域
            flet.Row(controls=[self.chinese_word_input]),
            # 操作按钮区域
            flet.Row(
                controls=[
                    self.word_sort_dropdown,
                    # 生成笔划按钮
                    flet.ElevatedButton(
                        "汉字笔划",
                        height=55,
                        icon=flet.icons.SAVE,
                        on_click=self.generate_bi_hua,
                    ),
                ],
                alignment=flet.MainAxisAlignment.END,
            ),

            # 显示笔划图片区域
            flet.Row(controls=[self.bihua_scroll_viewer])
        ]

        return flet.Column(controls=layout)

    def generate_bi_hua(self, e):
        """生成汉字笔划事件处理函数"""
        # 6. 初始化Playwright环境
        with sync_playwright() as playwright:
            if self.persistent_browser:  # 无痕模式
                browser = playwright.chromium.launch(headless=False, args=['--start-maximized'])
                page = browser.new_context(user_agent=USER_AGENT).new_page()
                page.set_viewport_size(viewport_size={'width': 1920, 'height': 1080})  # 设置浏览器窗口大小
            else:
                browser = playwright.chromium.launch_persistent_context(  # 非无痕模式
                    executable_path=r'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe',  # 浏览器路径
                    channel='msedge',  # 浏览器类型
                    headless=False,
                    user_data_dir=r"C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data\Default",              # 浏览器数据路径
                    accept_downloads=True,
                    args=['--start-maximized'],  # 设置浏览器窗口大小
                    no_viewport=True,
                )
                page = browser.new_page()
            # 获取待处理汉字
            words = re.sub(r'[^\u4e00-\u9fff]', '', self.chinese_word_input.value)
            logging.info(f'汉字: {words}')

            # 去除重复汉字并按指定顺序排序
            word_list = list(set(words))
            if self.word_sort_dropdown.value == "2":
                word_list.sort()

            # 逐个生成并保存单个汉字笔划图片
            for word in word_list:
                self.generate_single_bi_hua(page, word)
                time.sleep(1)

            # 合成所有汉字笔划图片
            concat_images([f'./images/{item}.png' for item in word_list], direction='vertical')

            # 删除图片
            for item in word_list:
                os.remove(f'./images/{item}.png')

            # 更新界面上的笔划图片为合成后的图片
            self.bihua_scroll_viewer.controls.clear()  # 清空已存在的图片控件
            self.bihua_scroll_viewer.controls.append(flet.Image(
                src='./images/合成.png',
                fit=flet.ImageFit.CONTAIN
            ))
            self.bihua_scroll_viewer.update()

            # 弹出提示对话框并打开图片目录
            self.show_completion_dialog_and_open_directory()

            # 关闭浏览器
            browser.close()

    def generate_single_bi_hua(self, page, word):
        """生成单个汉字笔划图片"""
        url = f"https://hanyu.baidu.com/s?wd={word}&ptype=zici"
        try:
            # 访问指定URL
            page.goto(url)

            # 等待笔划元素加载并截图
            element_selector = '.word-stroke-wrap'
            page.wait_for_selector(element_selector, timeout=5000)
            element = page.locator(element_selector)
            bounding_box = element.bounding_box()
            logging.info(f'{word}: {bounding_box}')
            if bounding_box:
                x, y, width, height = (bounding_box['x'], bounding_box['y'], bounding_box['width'],
                                       bounding_box['height'])
                page.screenshot(path=f'./images/{word}.png', full_page=True,
                                clip={'x': x, 'y': y, 'width': width, 'height': height})
                time.sleep(0.5)
            else:
                logging.warning(f"{word}没有找到笔划!")
        except Exception as e:
            logging.error(f"{word}生成笔划时发生错误,原因:{e}")

    def show_completion_dialog_and_open_directory(self):
        """显示完成提示对话框并打开图片目录"""
        def close_dlg(e):
            dialog.open = False
            os.startfile(os.path.abspath('./images'))
            self.page.update()

        # 创建提示对话框
        dialog = AlertDialog(
            title=Text('提示:'),
            actions=[
                TextButton("确定", on_click=close_dlg)
            ],
            actions_alignment=flet.MainAxisAlignment.END,
        )
        self.page.dialog = dialog
        dialog.content = Text('合成图片完成!')
        dialog.open = True
        self.page.update()

    def concat_images(images, direction='horizontal', separator_color=(0, 0, 0), separator_size=3):
    """
    合成图片
    :param images: 待合成图片列表
    :param direction: 合成方向(horizontal或vertical)
    :param separator_color: 分割线颜色
    :param separator_size: 分割线大小
    """
    # 打开所有图像并获取尺寸
    images = [Image.open(img) for img in images]
    widths, heights = zip(*(i.size for i in images))
    logging.info(f'widths: {widths}, heights: {heights}')

    # 计算拼接后图像的尺寸
    if direction == 'horizontal':
        total_width = sum(widths) + separator_size * (len(images) - 1)
        max_height = max(heights)
        new_size = (total_width, max_height)
    else:
        max_width = max(widths)
        total_height = sum(heights) + separator_size * (len(images) - 1)
        new_size = (max_width, total_height)

    # 创建新图像并将所有图像拼接到上面
    new_image = Image.new('RGB', new_size, color=separator_color)
    offset = 0
    for img in images:
        if direction == 'horizontal':
            new_image.paste(img, (offset, 0))
            offset += img.size[0] + separator_size
        else:
            new_image.paste(img, (0, offset))
            offset += img.size[1] + separator_size

    new_image.save('./images/合成.png')

    def main(page: flet.Page):

    # 10. 定义页面属性和布局
    page.title = "汉字笔画"
    page.window_width = 650
    page.window_height = 850
    page.scroll = True
    page.window_maximizable = False
    page.window_minimized = False
    page.window_center()
    page.update()

    # 11. 创建并添加汉字笔划控件到页面
    chinese_bihua = ChineseBiHua(page)
    page.add(chinese_bihua)

    if __name__ == '__main__':
    flet.app(target=main)
  • 本地运行代码:

    1. 安装依赖
      pip install flet==0.21.2 playwright==1.42.0 pillow==10.2.0
    2. 安装浏览器
      playwright install chromium
    3. 运行
      python main.py
  • 可执行文件下载地址: https://www.123pan.com/s/Gvawjv-PaOph.html 提取码:52pj

习题打印生成器

  • 地址:https://www.dayin.page/
  • 说明:强大、易用的一键生成数学题、描红字帖及各种空白模板。

旭光成长营

中国大学MOOC(慕课)

Maze Generator


乐高学习资源

LDraw.org

  • 地址:https://www.ldraw.org/
  • 说明:乐高 CAD 程序,允许用户创建虚拟乐高模型和场景。

LeoCAD

Rebrickable

  • 地址:https://rebrickable.com/
  • 说明:重复使用旧的乐高积木来寻找和构建新的创作。丰富的乐高模型库说明。

儿童教育网站05

版权归属: E家之长
本文链接: https://www.5iehome.cc/archives/children-education-website-summary.html
许可协议: 本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
暂无评论

发送评论 编辑评论


上一篇
下一篇