当前位置: 首页 > 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 可以控制电脑…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...