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

计网第四章(网络层)(二)
目录 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 数据源配置内容,对应…...

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

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

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

融合CDN 如何有效的抵抗DDoS攻击
绝大部分对外网站所有者都离不开CDN的支持,据统计,全球高达70%的互联网流量都是通过CDN来进行缓存和加速的,不论是国外知名的CDN厂商:如Cloudflare、AWS、Akamai等,还是国内主流的CDN厂商阿里云华为云腾讯云等…...

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

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...