pygame(以及底层库SDL)是一个用于以跨平台方式构建图形应用程序的库。这意味着它可以帮助你创建一个窗口,将灵长类的形状/颜色/纹理绘制到屏幕上,使用声音、计时器等。虽然它提供了使用自己的API进行绘制的能力,但您也可以使用它连接到OpenGL上下文中,使用稍有不同的API绘制2D和3D场景。在

然而,pygame并不意味着要做所有与创建图形化应用程序相关的事情。与Windows窗体或GTK+等技术不同,pygame旨在帮助创建需要更多支持的应用程序,而不仅仅是按钮/文本字段等。它对制作简单的GUI(图形用户界面)没有太多的支持。由您来实现(或使用库)来实现该逻辑。在

此时,您可以执行以下操作:

创建你自己的按钮使用绘图灵长类动物

这基本上意味着当你想制作一个“按钮”时,你需要“绘制”一个按钮(就像你在pygame中“绘制”任何东西一样)。此外,您还需要处理按钮“单击”时的输入,以及进入适当界面所需的所有其他内容。在

这有很多工作要做,但可以做得相当简单。基本上,您需要跟踪按钮的“边界”,然后监听鼠标单击事件。如果单击鼠标时鼠标在按钮的“边界”内,则激活单击按钮时应发生的逻辑。在

当您需要处理移动、隐藏等gui时,事情会变得更加复杂

将现有库用于用户界面

在本例中,您将使用现有的pygame兼容GUI库。Google搜索“pygamegui库”并开始使用它们。这些库已经实现了我在上面一节中讨论过的逻辑:将精灵绘制到屏幕上,处理单击按钮时发生的事情,等等

每个GUI库的工作方式可能不同:有些可能易于使用,有些可能更好地支持对按钮进行样式设置,使其看起来/感觉不同。你需要做些调查,看看什么是适合你的。在

使用非pygame GUI库

在本例中,您使用GTK+或{a2}之类的库来构建接口。这些库具有内置的功能,可以轻松地用按钮、文本字段等构建“表单”。然而,它们通常也可以将pygame屏幕作为“小部件”嵌入其中。在

听起来这并不是你真正想做的,但我把它作为一个选项,因为其他人可能会问这个问题,这就是他们的答案。在

结论

关于在pygame中创建GUI的更多信息,您可以read the GUI section on the pygame wiki.如果您正在寻找编码上述任何解决方案的特定帮助,我建议您自己尝试,然后当您遇到困难时,发布给您带来问题的代码。在

python程序按钮怎么创建_如何使用pygame创建按钮?相关推荐

  1. python程序怎么保存运行_教你如何编写、保存与运行 Python 程序

    第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Pyth ...

  2. python程序员年薪百万_想要成为年薪百万的Python程序员,这套面试题别错过

    近几年来,Python的运用范围越来越广,发展势头十分强劲.小到网页建设.网站搭建,大到人工智能AI.云计算.人脸识别.大数据分析等等尖端技术,都基于Python编程语言来实现. 在小伙伴们通过参加培 ...

  3. 简述python程序的基本构成_(一)Python入门-2编程基本概念:01程序的构成

    一:Python程序的构成 Python程序由模块组成.一个模块对应 一个python源文件,一般后缀名是:.py. 模块由语句组成.运行 Python 程序时,按照模块中语句的顺序依次执行. 语句是 ...

  4. 编写python程序、计算账户余额_《易学Python》——第1章 为何学习Python 1.1 学习编程...

    本节书摘来自异步社区<易学Python>一书中的第1章,第1.1节,作者[澳]Anthony Briggs,王威,袁国忠 译,更多章节内容可以访问云栖社区"异步社区"公 ...

  5. python程序运行结果不停_关于python:在进程运行时不断打印Subprocess输出

    要从我的python脚本启动程序,我使用以下方法: def execute(command): process = subprocess.Popen(command, shell=True, stdo ...

  6. python程序文件是什么_.py文件是什么?

    展开全部 .py文件是python的脚本文件. Python在执行时,首先会将.py文件中的62616964757a686964616fe59b9ee7ad9431333431363039源代码编译成 ...

  7. python程序员专用壁纸_神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏!...

    原标题:神级python程序员分享的让小白30分钟快速上手的一张神图,赶快收藏! 现在很多人学编程都把Python作为入门语言,其实这是个很不错的选择,那么你知道新手如何学Python吗?小编给大家分 ...

  8. python程序员推荐笔记本_震惊脸!这5个软件难道只有Python程序员才知道吗?

    后台回复'0816',加入Python技术交流群~ 双11过去了,大家买了些什么好东西呀? 因为上一个电脑被我拆坏了,于是这次我在小明的帮助下,买了一台新电脑. 拿到电脑的第一件事,就是安装各种软件. ...

  9. 下列快捷键中能够中断python程序运行的是_例题学习

    105.关于Python循环结构,以下选项中描述错误的是 ( C ) A: Python通过for.while等保留字提供遍历循环和无限循环结构 B: break用来跳出最内层for或者while循环 ...

最新文章

  1. 今年最火的 Golang 云原生开源项目,可能就是它了!
  2. 【转】如何使用应用日志(Application Log)
  3. CAN 多于8字节的拆包组包协议
  4. SpringBoot_入门-微服务简介
  5. Python并发之协程gevent基础(5)
  6. RIAMeeting第六次开发者交流活动。
  7. mfc中怎么集成文件_怎么把几个pdf合并并打印在一份文件中?
  8. 怎么样使element ui 的table某列变色
  9. Android 系统性能优化(80)---Android性能优化:这是一份详细的布局优化 指南(含lt;includegt;、lt;Viewstubgt;、lt;mergegt;)
  10. 信度spss怎么做_SPSS进行问卷量表信度检验(详细操作过程及结果分析)
  11. Python读书笔记
  12. perl:DNA序列翻译成氨基酸序列的若干方法,直接法,简并法,哈希法,以及perl中的uc和lc函数(上)
  13. 无人机编队飞行技术 pdf_无人机教师李刚:无人机飞行中最重要的六个要点
  14. Java调用Zebra条码打印机打印条码、中英文数字条码混合标签,可自由控制格式和排版
  15. iOS10下视频播放黑屏,又是苹果的坑!
  16. android LocalSocket的使用
  17. 网安之php开发第十五天
  18. 洛谷ZHC邀请赛---2018年元旦马拉松欢乐赛之《我的一位程序员朋友》
  19. CSS浮动Float
  20. 亚洲诚信助力看雪安全开发者峰会

热门文章

  1. 大数据分析需避免哪些错误
  2. hikari如何切换数据源_spring boot+mybatis 多数据源切换(实例讲解)
  3. php 页面上显示xls文档,phpExcel输出xls文档显示乱码的解决方法
  4. AtCoder Beginner Contest 171 A - αlphabet
  5. php pdo $_GET,PHP PDOStatement::getColumnMeta讲解
  6. 简单实践GraphEmbedding图嵌入的几种方法
  7. 推荐模块︱apple.Turicreate个性化推荐recommender(五)
  8. Windows命令查看文件MD5
  9. win32 ——定时器消息 小程序:打印时间
  10. linux 远程脚本批量 scopy文件