如何将GraphWin窗口置于屏幕中央?含全屏需求及尝试记录
游戏窗口居中与全屏实现方案
通用居中逻辑
已获取屏幕宽高的前提下,窗口居中的计算逻辑很直观:
设屏幕宽高为 screen_width、screen_height,窗口宽高为 window_width、window_height,则窗口左上角的居中坐标为:
pos_x = (screen_width - window_width) // 2 pos_y = (screen_height - window_height) // 2
多数框架以屏幕左上角为坐标原点,直接套用即可。
主流游戏框架的具体实现
Pygame(Python)
import pygame import os pygame.init() # 获取屏幕分辨率 screen_info = pygame.display.Info() screen_w, screen_h = screen_info.current_w, screen_info.current_h # 自定义窗口大小(窗口化居中用) win_w, win_h = 800, 600 # 计算居中坐标 pos_x = (screen_w - win_w) // 2 pos_y = (screen_h - win_h) // 2 # 设置窗口位置(Windows/macOS/Linux通用) os.environ['SDL_VIDEO_WINDOW_POS'] = f"{pos_x},{pos_y}" # 创建窗口 window = pygame.display.set_mode((win_w, win_h)) # 切换全屏的两种方式 # 1. 独占全屏(无窗口边框,完全占满屏幕) window = pygame.display.set_mode((screen_w, screen_h), pygame.FULLSCREEN) # 2. 无边框全屏(窗口化全屏,可保留系统任务栏) window = pygame.display.set_mode((screen_w, screen_h), pygame.NOFRAME)
Godot
- 窗口居中:
打开Project Settings→Display > Window,勾选Position > Center,启动后窗口自动居中。 - 全屏设置:
- 代码实现:
OS.window_fullscreen = true - 可视化设置:在
Project Settings的Window > Fullscreen中勾选Fullscreen。
- 代码实现:
Unity
- 窗口居中:
进入Edit > Project Settings > Player > Resolution and Presentation,在Windowed选项下将Screen Position设为Center。 - 全屏实现:
- 代码方式:
Screen.fullScreen = true; - 可视化设置:将
Fullscreen Mode设为Exclusive Fullscreen或Windowed Fullscreen。
- 代码方式:
关键点提示
- 部分框架的独占全屏模式会自动覆盖窗口位置设置,若需先居中再全屏,建议使用无边框全屏模式。
- 多显示器环境下,需确保获取的是主屏幕的分辨率,避免窗口居中到副屏。
内容的提问来源于stack exchange,提问作者Jonathan
相关产品推荐
相关产品推荐

