26

I'm just wondering if it is possible for me to get the resolution of a monitor in Pygame and then use these dimensions to create a window so that launching the program detects the monitor resolution and then automatically fits the window to the screen in fullscreen.

I am currently using pygame.display.set_mode((AN_INTEGER, AN_INTEGER)) to create the window. I am aware that you can get video info including the monitor resolution using pygame.display.Info() but how can I extract these values and then use them in pygame.display.set_mode()???

Thanks in advance, Ilmiont

4 Answers 4

53

You can use pygame.display.Info():

The docs say:

current_h, current_w: Height and width of the current video mode, or of the desktop mode if called before the display.set_mode is called.
(current_h, current_w are available since SDL 1.2.10, and pygame 1.8.0) They are -1 on error, or if an old SDL is being used.1.8.0)

pygame.display.Info() creates an Info Object with the attributes current_h and current_w. Create the Info Object before you call display.set_mode and then call display.set_mode with current_h and current_w from the object.

Example:

infoObject = pygame.display.Info() pygame.display.set_mode((infoObject.current_w, infoObject.current_h)) 
Sign up to request clarification or add additional context in comments.

1 Comment

Good answer, just a note: depending on the OS, the windows may be misaligned to the window.
12

I don't know if this will work, but if you just want a fullscreen window use the following:

pygame.display.set_mode((0,0),pygame.FULLSCREEN) 

(of course you still have to import pygame).

1 Comment

The one issue with this method is that the actual screen will only take up a miscro part of the scren. So it's not the best solution. However, +1.
4

I don't know much about pygame, but here is a way using the module win32api:

from win32api import GetSystemMetrics width = GetSystemMetrics(0) height = GetSystemMetrics(1) 

Update: After taking a glance at the docs, seems like you can get it from pygame.display.Info, like this:

width, height = pygame.display.Info().current_w, pygame.display.Info().current_h 

Hope this helps!

Comments

-2
screen = pygame.display.set_mode() # default is (0,0), so it's fullscreen w, h = screen.get_size() # the `screen` is a `Surface` type, so it has a get_size method 

1 Comment

As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.