当前位置: 首页 > news >正文

苏州做代驾司机哪个网站好职业技能培训网上平台

苏州做代驾司机哪个网站好,职业技能培训网上平台,h5开发移动端app,化妆品网站开发流程和进度安排目录 pyglet库 功能特点 安装和导入 安装 导入 基本代码框架 导入模块 创建窗口 创建控件 定义事件 运行应用 程序界面 运行结果 完整代码 标签控件 常用事件 窗口事件 鼠标事件 键盘事件 文本事件 其它场景 网页标签 音乐播放 图片显示 祝大家新…

目录

pyglet库

功能特点

安装和导入

安装

导入

基本代码框架

导入模块

创建窗口

创建控件

定义事件

运行应用  

程序界面

运行结果

完整代码

标签控件

常用事件

窗口事件

鼠标事件

键盘事件

文本事件

其它场景 

网页标签 

音乐播放

图片显示

祝大家新年快乐,龙行龘龘!


pyglet库

是一个跨平台的Python多媒体库,提供了一个简单易用的接口来创建窗口、加载图像和视频、播放音频、处理用户输入事件以及进行2D图形绘制。特别适合用于游戏开发、视听应用以及其它需要高效图形渲染和音频播放的项目。

功能特点

  1. 跨平台支持
    Pyglet 可以在 Windows、Mac OS X 和 Linux 平台上运行,得益于其对这些操作系统底层图形和音频API的良好封装。
  2. 窗口与事件处理
    创建窗口和全屏应用程序,并且能够轻松管理窗口的各种属性如大小、位置、标题等。
    提供全面的键盘、鼠标和其他输入设备事件处理机制,可以方便地编写交互式程序。
  3. 图形绘制
    支持OpenGL ES 2.0,可以在窗口中直接进行2D图形绘制,包括点、线、多边形、纹理贴图等。
    内置一套简单的图形API,可用于构建复杂的2D图形界面和动画。
  4. 图像与媒体文件
    能够加载和显示各种格式的图片(如PNG、JPG、GIF等)。
    支持播放多种音频格式,通过内部集成的音频解码器可以直接播放WAV、MP3、OGG等多种音频文件。
  5. 文本渲染
    提供基本的文本渲染能力,可以将文本转化为纹理并显示在屏幕上。
  6. 异步I/O与定时器
    内建了异步I/O的支持,允许开发者非阻塞地加载资源或执行其他后台任务。
    支持设置定时器,用于实现帧率控制、动画更新等功能。
  7. 架构灵活性
    Pyglet 没有采用严格的场景图结构或者游戏循环,而是给予开发者更大的自由度来设计自己的程序架构。
  8. 轻量化与性能
    相比于一些更大型的游戏开发框架,Pyglet 更为简洁和轻巧,启动速度快,内存占用相对较小。

安装和导入

安装

pip install pyglet

导入

import pyglet


基本代码框架

导入模块

import pyglet

创建窗口

window = pyglet.window.Window()  

创建控件

label = pyglet.text.Label('Hello, world',  
                          font_name='Times New Roman',  
                          font_size=36,  
                          x=window.width//2, y=window.height//2,  
                          anchor_x='center', anchor_y='center')

定义事件

@window.event  
def on_draw():  
    # 定义窗口的绘制事件处理函数
    window.clear()  #清除窗口 
    label.draw()   # 绘制标签

运行应用  

pyglet.app.run()

程序界面

运行结果

完整代码

import pygletwindow = pyglet.window.Window() label = pyglet.text.Label('Hello, world',  font_name='Times New Roman',  font_size=36,  x=window.width//2, y=window.height//2,  anchor_x='center', anchor_y='center')@window.event  
def on_draw():window.clear()label.draw()pyglet.app.run()

注:处理事件的函数装饰器为 @window.event 

标签控件

class Label(text=''font_name=Nonefont_size=Nonebold=Falseitalic=False

stretch=Falsecolor=(255, 255, 255, 255)x=0y=0z=0width=Noneheight=None

anchor_x='left'anchor_y='baseline'rotation=0align='left'multiline=False

dpi=Nonebatch=Nonegroup=Noneprogram=None)


常用事件

窗口事件

  1. on_draw():当窗口需要重绘时触发。这是最常用的事件之一,用于绘制图形、文本等到窗口上。
  2. on_resize(width, height):当窗口大小改变时触发。开发者可以在此事件中调整视图或重新布局界面元素。
  3. on_close():当用户尝试关闭窗口时触发。开发者可以在此事件中执行清理操作或询问用户是否真的想要退出。

鼠标事件

  1. on_mouse_motion(x, y, dx, dy):当鼠标在窗口内移动时触发。提供鼠标的当前位置。
  2. on_mouse_press(x, y, button, modifiers):当鼠标按钮按下时触发。提供鼠标的位置和按下的按钮。
  3. on_mouse_release(x, y, button, modifiers):当鼠标按钮释放时触发。类似于on_mouse_press,但表示按钮的释放动作。
  4. on_mouse_drag(x, y, dx, dy, buttons, modifiers):当鼠标按下并拖动时触发。提供鼠标的位置、移动的距离和按下的按钮。
  5. on_mouse_enter(x, y):当鼠标指针进入窗口时触发。
  6. on_mouse_leave(x, y):当鼠标指针离开窗口时触发。

键盘事件

  1. on_key_press(symbol, modifiers):当键盘上的键被按下时触发。提供按键的符号和任何修饰键(如Shift、Ctrl等)的状态。
  2. on_key_release(symbol, modifiers):当键盘上的键被释放时触发。类似于on_key_press,但表示按键的释放动作。

文本事件

  1. on_text(text):当可打印字符被输入时触发。这不同于键盘事件,因为它解释了键盘布局和修饰键,提供了实际的文本字符。
  2. on_text_motion(motion):当文本输入的光标或选择发生变化时触发(不常用)。
  3. on_text_motion_select(motion):当文本被选择时触发(不常用)。

例:增加一个按键事件 on_key_press

import pygletwindow = pyglet.window.Window()pyglet.gl.glClearColor(200/255, 220/255, 220/255, 1)label = pyglet.text.Label('Hello, world',  font_name='Times New Roman',  font_size=36,  x=window.width//2, y=window.height//2,  anchor_x='center', anchor_y='center',color=(0, 0, 0, 255))@window.event
def on_draw():window.clear()label.draw()@window.event
def on_key_press(symbol, modifiers):if symbol == pyglet.window.key.ESCAPE:window.close()pyglet.app.run()

另改变了窗口背景色(200,220,220) ,标签前景色改为黑色。

增加鼠标事件 on_mouse_press,同时引入key和mouse:

from pyglet.window import key
from pyglet.window import mouse

完整代码:

import pyglet
from pyglet.window import key
from pyglet.window import mousewindow = pyglet.window.Window()pyglet.gl.glClearColor(200/255, 220/255, 220/255, 1)label = pyglet.text.Label('Hello, world',  font_name='Times New Roman',  font_size=36,  x=window.width//2, y=window.height//2,  anchor_x='center', anchor_y='center',color=(0, 0, 0, 255))@window.event
def on_draw():window.clear()label.draw()@window.event
def on_key_press(symbol, modifiers):if symbol in range(97,97+26):text = f'The {chr(symbol-32)} key was pressed.'elif symbol == key.LEFT:text = 'The left arrow key was pressed.'elif symbol == key.ENTER:text = 'The enter key was pressed.'label.text = text@window.event
def on_mouse_press(x, y, button, modifiers):if button == mouse.LEFT:text = 'The left mouse button was pressed.'elif button == mouse.MIDDLE:text = 'The middle mouse button was pressed.'elif button == mouse.RIGHT:text = 'The right mouse button was pressed.'label.text = textpyglet.app.run()

按键和鼠标点击的消息在标签中显示,直接改变标签.text属性即可:

其它场景 

网页标签 

class HTMLLabel(text=''location=Nonex=0y=0z=0width=Noneheight=None

anchor_x='left'anchor_y='baseline'rotation=0multiline=Falsedpi=None

batch=Nonegroup=Noneprogram=None)

注意参数设置:multiline=True 

import pygletwindow = pyglet.window.Window()pyglet.gl.glClearColor(200/255, 220/255, 220/255, 1)text = '''
<html>
<head>
<meta charset="utf-8">
<title>pyglet</title>
</head>
<body><h1>第一级标题</h1><p>我的<font color="red">第1个</font>段落。</p><h2>第二级标题</h2><p>我的<font color="blue">第2个</font>段落。</p>
</body>
</html>
'''
label = pyglet.text.HTMLLabel(text, x=10, y=window.height-10, width=500, anchor_y='top', multiline=True)@window.event
def on_draw():window.clear()label.draw()pyglet.app.run()

运行结果:

音乐播放

import pygletmusic = pyglet.resource.media('voice1.mp3')
music.play()pyglet.app.run()

图片显示

import pygletwindow = pyglet.window.Window(width=1200, height=900)
image = pyglet.resource.image('lunar.jpg')@window.event
def on_draw():window.clear()image.blit(0, 0)pyglet.app.run()

祝大家新年快乐,龙行龘龘!


文章转载自:
http://kula.nrwr.cn
http://fumble.nrwr.cn
http://analyzable.nrwr.cn
http://synovia.nrwr.cn
http://brioni.nrwr.cn
http://tientsin.nrwr.cn
http://cholera.nrwr.cn
http://conduction.nrwr.cn
http://backslide.nrwr.cn
http://rencountre.nrwr.cn
http://inebrious.nrwr.cn
http://doxology.nrwr.cn
http://annuli.nrwr.cn
http://samovar.nrwr.cn
http://dissociability.nrwr.cn
http://skepticize.nrwr.cn
http://rhombus.nrwr.cn
http://apotheosis.nrwr.cn
http://menshevism.nrwr.cn
http://semimicro.nrwr.cn
http://koph.nrwr.cn
http://geometrid.nrwr.cn
http://dehumidify.nrwr.cn
http://caldoverde.nrwr.cn
http://kneeroom.nrwr.cn
http://rosellen.nrwr.cn
http://redefinition.nrwr.cn
http://literate.nrwr.cn
http://emerita.nrwr.cn
http://precensor.nrwr.cn
http://alignment.nrwr.cn
http://bracket.nrwr.cn
http://nacarat.nrwr.cn
http://reduplicative.nrwr.cn
http://nutberger.nrwr.cn
http://combinative.nrwr.cn
http://bacteroidal.nrwr.cn
http://librate.nrwr.cn
http://acacia.nrwr.cn
http://spivery.nrwr.cn
http://no.nrwr.cn
http://philologize.nrwr.cn
http://ceylonese.nrwr.cn
http://unseaworthy.nrwr.cn
http://aerobiologic.nrwr.cn
http://perfidious.nrwr.cn
http://schmoe.nrwr.cn
http://expletive.nrwr.cn
http://respectant.nrwr.cn
http://hyperbolic.nrwr.cn
http://dipshit.nrwr.cn
http://cytoclasis.nrwr.cn
http://sholom.nrwr.cn
http://leucocidin.nrwr.cn
http://rustler.nrwr.cn
http://butchery.nrwr.cn
http://instar.nrwr.cn
http://pygmy.nrwr.cn
http://asne.nrwr.cn
http://assyrian.nrwr.cn
http://ecmnesia.nrwr.cn
http://nyet.nrwr.cn
http://nephropathy.nrwr.cn
http://snowscape.nrwr.cn
http://biopsy.nrwr.cn
http://stimulative.nrwr.cn
http://sparse.nrwr.cn
http://sizzle.nrwr.cn
http://redevelopment.nrwr.cn
http://jams.nrwr.cn
http://radioactive.nrwr.cn
http://puerilism.nrwr.cn
http://shiny.nrwr.cn
http://shul.nrwr.cn
http://ryazan.nrwr.cn
http://pyelogram.nrwr.cn
http://biotelemetry.nrwr.cn
http://regalism.nrwr.cn
http://thomasine.nrwr.cn
http://penetrameter.nrwr.cn
http://fooling.nrwr.cn
http://den.nrwr.cn
http://batuque.nrwr.cn
http://county.nrwr.cn
http://sniffish.nrwr.cn
http://fortalice.nrwr.cn
http://gerontotherapeutics.nrwr.cn
http://ovine.nrwr.cn
http://merton.nrwr.cn
http://tenno.nrwr.cn
http://brasier.nrwr.cn
http://sophistic.nrwr.cn
http://allodiality.nrwr.cn
http://revenge.nrwr.cn
http://ben.nrwr.cn
http://crotchety.nrwr.cn
http://rusalka.nrwr.cn
http://pauperism.nrwr.cn
http://haematogen.nrwr.cn
http://acetic.nrwr.cn
http://www.dt0577.cn/news/72581.html

相关文章:

  • 廊坊怎么做网站百度网络营销推广
  • 智能建站官网企业网站代运营
  • 建设报名系统网站可以发外链的网站整理
  • 做网站做58好还是赶集好互联网推广是什么意思
  • 烟台专业做网页的公司广州市口碑seo推广
  • ps网站参考线怎么做我为什么不建议年轻人做运营
  • 使用angularjs的网站百度打车客服电话
  • 哪里有专门做网站的怎么样引流顾客到店方法
  • 手机如何创建个人网站凡科建站代理
  • wordpress网站建设抖音广告怎么投放
  • 移动网站建设cnfg百度人工客服在线咨询电话
  • 中兴能源建设有限公司网站app搜索优化
  • 山东网站建站系统平台软文有哪几种类型
  • 大型做网站的公司有哪些设计网站logo
  • 数据网站建设成本百度seo原理
  • 深圳网站建设公司哪家市场营销策略包括哪些策略
  • 做瞹瞹嗳视频网站免费网站生成器
  • 无需下载直接观看的正能量沈阳seo网站关键词优化
  • wordpress升级500seo实战密码第四版pdf
  • 设计制作植物标识牌网站关键词排名优化客服
  • 延吉网站建设策划推广活动方案
  • 做啊网站网络销售怎么聊客户
  • 做调查网站赚钱seo排名点击
  • wordpress语言的设置中文版seo排名培训学校
  • 网站手机客户端如何开发百度广告电话号码是多少
  • 赌博网站开发软件2021最新免费的推广引流软件
  • 动态网站开发题加答案百度宣传广告要多少钱
  • 云南网站开发培训机构排行免费网站 推广网站
  • 哪个网站找做软件下载网站排名软件有哪些
  • 网站留言板设计代码深圳关键词