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

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

快刀集(1): 一刀斩断视频片头广告

一刀流&#xff1a;用一个简单脚本&#xff0c;秒杀视频片头广告&#xff0c;还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农&#xff0c;平时写代码之余看看电影、补补片&#xff0c;是再正常不过的事。 电影嘛&#xff0c;要沉浸&#xff0c;…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...