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

Pygame编程(2)display模块

pygame编程2-display设备显示

  • pygame.display.init()

    • 初始化 display 模块
    • init() -> None
  • pygame.display.get_init()

    • 获取display初始化 状态,如果已经初始化,返回 True,否则返回False
    • get_init() -> bool
  • pygame.display.quit()

    • 退出 display 模块
    • quit() -> None
  • pygame.display.set_mode()

    • 初始化一个准备显示的窗口或屏幕
    • set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0) -> Surface

    flags = pygame.OPENGL | pygame.FULLSCREEN
    window_surface = pygame.display.set_mode((1920, 1080), flags, vsync=1)

    flags取值:
    pygame.FULLSCREEN create a fullscreen display
    pygame.DOUBLEBUF only applicable with OPENGL
    pygame.HWSURFACE (obsolete in pygame 2) hardware accelerated, only in FULLSCREEN
    pygame.OPENGL create an OpenGL-renderable display
    pygame.RESIZABLE display window should be sizeable
    pygame.NOFRAME display window will have no border or controls
    pygame.SCALED resolution depends on desktop size and scale graphics
    pygame.SHOWN window is opened in visible mode (default)
    pygame.HIDDEN window is opened in hidden mode

  • pygame.display.get_surface()

    • 获取当前显示的 Surface 对象
    • get_surface() -> Surface
  • pygame.display.flip()

    • 更新整个待显示的 Surface 对象到屏幕上
    • flip() -> None
  • pygame.display.update()

    • 更新部分软件界面显示
    • update(rectangle=None) -> None
    • update(rectangle_list) -> None
  • pygame.display.get_dirver()

    • 获取 Pygame 显示驱动的名字
    • get_driver() -> name
  • pygame.display.Info()

    • 获取有关显示界面的信息对象
    • Info() -> VideoInfo
  • pygame.display.get_wm_info()

    • 获取关于当前窗口系统的信息
    • get_wm_info() -> dict
  • pygame.display.get_desktop_sizes()

    • 获取当前桌面大小
    • get_desktop_sizes() -> list
  • pygame.display.list_modes()

    • 获取全屏模式下可使用的分辨率
    • list_modes(depth=0, flags=pygame.FULLSCREEN, display=0) -> list
  • pygame.display.mode_ok()

    • 为显示模式选择最佳颜色深度
    • mode_ok(size, flags=0, depth=0, display=0) -> depth
  • pygame.display.gl_get_attribute()

    • 获取当前显示的OpenGL标志的值
    • gl_get_attribute(flag) -> value
  • pygame.display.gl_set_attribute()

    • 设置当前显示的OpenGL标志的值
    • gl_set_attribute(flag, value) -> None
  • pygame.display.get_active()

    • 当显示在屏幕上处于活动状态时返回True
    • get_active() -> bool
  • pygame.display.iconify()

    • 最小化显示窗口
    • iconify() -> bool
  • pygame.display.toggle_fullscreen()

    • 在全屏和窗口显示之间切换
    • toggle_fullscreen() -> int
  • pygame.display.set_gamma()

    • 改变硬件伽马ramps
    • set_gamma(red, green=None, blue=None) -> bool
  • pygame.display.set_gamma_ramp

    • 使用自定义查找更改硬件伽马ramp
    • set_gamma_ramp(red, green, blue) -> bool
  • pygame.display.set_icon()

    • 设置窗口图标
    • set_icon(Surface) -> None
  • pygame.display.set_caption()

    • 设置当前窗口标题
    • set_caption(title, icontitle=None) -> None
  • pygame.display.get_caption()

    • 获取当前窗口标题
    • get_caption() -> (title, icontitle)
  • pygame.display.set_palette()

    • 为索引显示设置显示调色板
    • set_palette(palette=None) -> None
  • pygame.display.get_num_displays()

    • 返回显示的个数
    • get_num_displays() -> int
  • pygame.display.get_window_size()

    • 返回窗口或屏幕的大小
    • get_window_size() -> tuple
  • pygame.display.get_allow_screensaver()

    • 返回是否允许屏幕保护程序运行
    • get_allow_screensaver() -> bool
  • pygame.display.set_allow_screensaver()

    • 设置屏幕保护程序是否可以运行
    • set_allow_screensaver(bool) -> None
import sys
import pygame
from pygame.locals import *# 参数定义
DISPLAY_WIDTH  = 800
DISPLAY_HEIGHT = 600COLOR_BLACK = (0, 0, 0)
COLOR_WHITE = (255, 255, 255)
COLOR_RED   = (255, 0, 0)
COLOR_GREEN = (0, 255, 0)
COLOR_BLUE  = (0, 0, 255)# 1. 初始化模块
print('pygame初始化状态:', pygame.get_init())
pygame.init()# 2. 设置主屏窗口
print('display初始化状态:', pygame.display.get_init())
display = pygame.display.set_mode((DISPLAY_WIDTH, DISPLAY_HEIGHT), flags=RESIZABLE)# 设置窗口标题
pygame.display.set_caption('显示模块Demo')# 获取窗口标题
caption = pygame.display.get_caption()
print('caption:', caption)# 设置窗口ICON
img = pygame.image.load('D:/project/python/pygame/demo1/icons/wifi_icon.png')
pygame.display.set_icon(img)# 获取窗口大小
window_size = pygame.display.get_window_size()
print('窗口大小:', window_size)# 获取屏保使能状态
screensaver = pygame.display.get_allow_screensaver()
print('screensaver:', screensaver)
# 设置屏保使能状态
pygame.display.set_allow_screensaver(True)# 最小化窗口,再次调用恢复正常窗口尺寸
pygame.display.iconify()# toggle全屏显示
pygame.display.toggle_fullscreen()# 获取全屏模式下可使用的分辨率
modes = pygame.display.list_modes()
print(modes)
# [(1920, 1080), (1680, 1050), (1600, 900), (1440, 900), (1400, 1050), (1366, 768), (1360, 768), (1280, 1024), (1280, 800), (1280, 768), (1280, 720), (1024, 768), (800, 600), (640, 480), (640, 400), (512, 384), (400, 300), (320, 240), (320, 200)]# 获取桌面尺寸
desktop_sizes = pygame.display.get_desktop_sizes()
print(desktop_sizes)
# [(1536, 864), (1536, 864)]pygame.display.flip()pygame.display.update()# 3. 程序主循环
while True:for event in pygame.event.get():if event.type == QUIT:# 4. 退出模块pygame.quit()# 5. 终止程序sys.exit()

相关文章:

Pygame编程(2)display模块

pygame编程2-display设备显示 pygame.display.init() 初始化 display 模块init() -> None pygame.display.get_init() 获取display初始化 状态,如果已经初始化,返回 True,否则返回Falseget_init() -> bool pygame.display.quit() 退出…...

第十五天|104.二叉树的最大深度、111.二叉树的最小深度、 222.完全二叉树的节点个数

104.二叉树的最大深度 题目链接:104. 二叉树的最大深度 - 力扣(LeetCode) /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullp…...

图像识别技术在医疗领域的革命:探索医学影像诊断的未来

导言: 随着人工智能和计算机视觉的快速发展,图像识别技术在医疗领域正掀起一场革命。医学影像诊断是医疗工作中的重要环节,而图像识别技术的引入为医生提供了更准确、高效的辅助手段。本文将深入探讨图像识别技术在医疗领域的应用&#xff0c…...

计网第四章(网络层)(二)

目录 IPV4地址编址 第一历史阶段(分类编址): A类地址: B类地址: C类地址: D类地址(多播地址): E类地址(保留地址): 第二历史阶…...

原生微信小程序使用 wxs;微信小程序使用 vant-weapp组件

1.原生微信小程序使用 wxs 1.内嵌 WXS 脚本 2. 定义外链 wxs 3. 使用外连wxs 在这里插入图片描述 2. 微信小程序使用 vant weapp 1.安装步骤 2. 安装包管理(package.json)文件的方法 操作顺序 :文档地址 如果使用 typescript 需要操作步骤3,否则不…...

qml相关知识1

qml相关知识1 QtQuick.Controls 哪个版本支持TreeModel 和 TreeItemqt5.12开始,TreeItem 类被删除,无法使用delegate 什么时候可以用Qt5.15中没有 import QtQuick.Controls 1吗,哪个版本有control1qml如何两种版本的controls混用(…...

linux+c+qt杂记

虚拟机网络选择; 桥接模式:设置window宿主机的IP/dns,把虚拟机设置为桥接即可。 切换到终端:我的是 ctrlaltFnF1? 问题解决: Ubuntu系统下载(清华大学开源软件镜像站)(ubuntu-20.…...

shouldComponentUpdate有什么作用?

触发时机 当props或state发生变化时,shouldComponentUpdate() 会在渲染执行之前被调用。 作用 根据shouldComponentUpdate()的返回值,判断react组件的输出是否受当前state或props更改影响。默认行为是state每次发生变化组件都会重新渲染。 shouldCompo…...

华为OD-滑动窗口最大值

题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例一 输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出…...

Linux:ansible自动化运维工具

环境介绍 当前所有执行权限我是在root下执行的,如果提示权限之类的,可以在每句命令前 加上 sudo ansible主服务器 192.168.0.194 另外两个客户端分别为 192.168.0.193 192.168.0.192 软件只需要在主服务器上安装,客户端不需…...

前端如何使用WebSocket发送消息

系列文章目录 文章目录 系列文章目录前言一、WebSocket的基本原理二、在前端使用WebSocket1.创建WebSocket实例2.监听事件3.发送消息三、实际应用场景总结前言 WebSocket是一种在Web应用程序中实现双向通信的技术,它允许服务器和客户端之间实时交换数据。在本篇博客中,我们将…...

纸贵科技连续三年蝉联IDC中国 FinTech 50榜单

近日,国际权威市场研究机构IDC公布了“2023 IDC中国FinTech 50榜单”。作为领先的区块链技术和解决方案服务商,纸贵科技凭借过硬的区块链技术和丰富的金融科技创新成果,连续第三年荣登IDC中国FinTech 50榜单。 IDC中国FinTech 50榜单是金融科…...

台积电美国厂施工现场混乱,真令人头痛 | 百能云芯

近日,英伟达公司的财报表现异常亮眼,摩根士丹利不仅点名了台积电成为最大的受益者,还预测每售出一颗H100英伟达芯片,台积电就能获得900美元的利润。然而,美国媒体却曝出了一则不利的消息,称美国亚利桑那州的…...

React绑定antd输入框,点击清空或者确定按钮实现清空输入框内容

其实实现原理和vue的双向绑定是一样的,就是监听输入框的onChange事件,绑定value值,当输入框内容发生变化后,就重新设置这个value值。 示例代码:我这里是统一在handleCancel这个函数里面处理清空逻辑了,你们…...

Springboot整合liquIbase组件

liquIbase方式 1、添加依赖 <!-- Liquibase 依赖 --> <dependency><groupId>org.liquibase</groupId><artifactId>liquibase-core</artifactId> </dependency>2、添加配置项 spring:# datasource 数据源配置内容&#xff0c;对应…...

Apache Paimon 实时数据湖 Streaming Lakehouse 的存储底座

摘要&#xff1a;本文整理自阿里云开源大数据表存储团队负责人&#xff0c;阿里巴巴高级技术专家李劲松&#xff08;之信&#xff09;&#xff0c;在 Streaming Lakehouse Meetup 的分享。内容主要分为四个部分&#xff1a; 流计算邂逅数据湖 Paimon CDC 实时入湖 Paimon 不止…...

计算机网络(10) --- 高级IO

计算机网络&#xff08;9&#xff09; --- 数据链路层与MAC帧_哈里沃克的博客-CSDN博客数据链路层与MAC帧https://blog.csdn.net/m0_63488627/article/details/132178583?spm1001.2014.3001.5501 1.IO介绍 1.IO本质 1.如果数据没有出现&#xff0c;那么读取文件其实会被阻塞住…...

学习中ChatGPT的17种用法

ChatGPT本质上是一个聊天工具&#xff0c;旧金山的人工智能企业OpenAI于2022年11月正式推出ChatGPT。那么&#xff0c;ChatGPT与其他人工智能产品相比有什么特殊呢&#xff1f; 它除了可以回答结构性的问题&#xff0c;例如语法修正、翻译和查找答案之外。最关键的是它能够去解…...

融合CDN 如何有效的抵抗DDoS攻击

绝大部分对外网站所有者都离不开CDN的支持&#xff0c;据统计&#xff0c;全球高达70%的互联网流量都是通过CDN来进行缓存和加速的&#xff0c;不论是国外知名的CDN厂商&#xff1a;如Cloudflare、AWS、Akamai等&#xff0c;还是国内主流的CDN厂商阿里云华为云腾讯云等&#xf…...

Git 原理与使用

1.版本控制器 所谓的版本控制器&#xff0c;就是能让你了解到⼀个⽂件的历史&#xff0c;以及它的发展过程的系统。通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统&#xff0c;同时也⽅便多⼈协同作业。 ⽬前最主流的版本控制器就是 Git 。Git 可以控制电脑…...

用51单片机+普中开发板DIY一个抢答器,从Proteus仿真到实物烧录全流程记录

从零打造51单片机抢答器&#xff1a;普中开发板实战全记录 第一次接触单片机项目时&#xff0c;我盯着闪烁的LED灯兴奋了整整半小时——那种"让机器听我指挥"的成就感&#xff0c;至今记忆犹新。这次要挑战的是更实用的抢答器制作&#xff0c;不仅涉及编程逻辑&#…...

太原教育平台评价好的服务商

在太原&#xff0c;随着家长对孩子教育的重视程度不断提高&#xff0c;越来越多的教育平台和服务商应运而生。本文将从多个维度对太原几家知名的教育平台进行对比分析&#xff0c;帮助家长们选择最适合孩子的教育服务。一、山西国科天光教育科技有限公司1. 标准化体系数据支持&…...

打破平台壁垒:AI驱动的全渠道内容生产新范式

打破平台壁垒&#xff1a;AI驱动的全渠道内容生产新范式 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程&#xff0c;自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow …...

Ryzen平台硬件调试终极指南:从问题诊断到系统优化的实战路径

Ryzen平台硬件调试终极指南&#xff1a;从问题诊断到系统优化的实战路径 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...

WarcraftHelper:魔兽争霸3兼容性问题的全方位解决方案

WarcraftHelper&#xff1a;魔兽争霸3兼容性问题的全方位解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 问题发现&#xff1a;现代系统下的经…...

双系统安装完整指南——以双Win11为例

一、安装前的准备工作 1. 硬件与系统要求 CPU&#xff1a;支持 Windows 11&#xff08;Intel 8 代 / AMD Ryzen 2000 及以上&#xff09;主板&#xff1a; 支持 UEFI支持 TPM 2.0 磁盘&#xff1a; GPT 分区格式至少 120GB 空闲空间&#xff08;建议每个系统 ≥ 80GB&#xf…...

电缆电热耦合与热仿真:COMSOL中电缆铺设的热分析模拟与应用研究

电缆电热耦合仿真 comsol 电缆铺设热仿真电缆散热设计这事看起来简单&#xff0c;实操起来全是坑。上个月给某变电站做电缆沟热仿真&#xff0c;甲方拿着计算器咔咔按公式说肯定没问题&#xff0c;结果实测温度超了十几度。后来用COMSOL重新建模才发现&#xff0c;土壤热阻和邻…...

别再让数据库“吃”脏数据了!一文讲透MySQL约束,从入门到精通

作为一名程序员&#xff0c;我们每天都在和数据库打交道。不知道你有没有遇到过这样的情况&#xff1a;用户注册时填写的年龄是200岁&#xff0c;性别是“未知”&#xff0c;或者明明员工表里存了一个部门ID&#xff0c;但在部门表里却根本找不到这个部门。这些“脏数据”就像定…...

别再只用Dice Loss了!结合Focal Loss解决钢材缺陷分割中的小目标难题(附PyTorch代码)

突破小目标分割瓶颈&#xff1a;Focal Loss与Dice Loss的黄金组合实践 在工业质检领域&#xff0c;钢材表面缺陷分割任务常面临两个核心挑战&#xff1a;毫米级点状缺陷的漏检与复杂纹理背景下的误报。传统Dice Loss虽能缓解类别不平衡问题&#xff0c;但当遇到像素占比不足0.1…...

5分钟搞定foobar2000美化:foobox-cn让你的音乐播放器焕然一新!

5分钟搞定foobar2000美化&#xff1a;foobox-cn让你的音乐播放器焕然一新&#xff01; 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 厌倦了千篇一律的音乐播放器界面&#xff1f;想让你的foobar200…...