π ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Python: ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±
ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Python?
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ tkinter ΠΈ Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡ Tk. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
from tkinter import Tk
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠ»Π°ΡΡΠ° Tk
root = Tk()
# ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π°
width = root.winfo_width()
height = root.winfo_height()
# ΠΡΠ²ΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π°
print(f"Π Π°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°: {width}x{height}")
ΠΠ΅ΡΠΎΠ΄Ρ winfo_width() ΠΈ winfo_height() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Π² Python?
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ Π² Python ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° Π² Python.
ΠΠ΅ΡΠΎΠ΄ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Tkinter
ΠΠΎΠ΄ΡΠ»Ρ Tkinter ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² Python. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½, ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΏΠΎΠ»Π΅ΠΉ Π²Π²ΠΎΠ΄Π° ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Tkinter, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ winfo_width() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΎΠΊΠ½Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ winfo_height() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°.
import tkinter as tk
root = tk.Tk()
root.geometry("400x300")
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°
width = root.winfo_width()
height = root.winfo_height()
print(f"Π Π°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°: {width}x{height}")
root.mainloop()
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 400x300 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ winfo_width() ΠΈ winfo_height() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ΅ΡΠΎΠ΄ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Pygame
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ³Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² Python, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Pygame. ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³ΠΎΠΌ Π³ΡΠ°ΡΠΈΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Pygame, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ pygame.display.Info().current_w Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΎΠΊΠ½Π° ΠΈ pygame.display.Info().current_h Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°.
import pygame
pygame.init()
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
screen = pygame.display.set_mode((800, 600))
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°
width = pygame.display.Info().current_w
height = pygame.display.Info().current_h
print(f"Π Π°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°: {width}x{height}")
pygame.quit()
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 800x600 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Pygame, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ current_w ΠΈ current_h Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° pygame.display.Info() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΠ΅ΡΠΎΠ΄ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ wxPython
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π² Python - ΡΡΠΎ wxPython. ΠΠ½ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ wxWidgets ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ wxPython, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ GetClientSize() Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°.
import wx
app = wx.App()
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°
frame = wx.Frame(None, title="ΠΠΎΠ΅ ΠΎΠΊΠ½ΠΎ", size=(500, 400))
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΠΎΠΊΠ½Π°
width, height = frame.GetClientSize()
print(f"Π Π°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°: {width}x{height}")
app.MainLoop()
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 500x400 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ wxPython, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ GetClientSize() Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΠΊΠ½Π° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ²Π΅Π΄Π΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ.
ΠΡΠ²ΠΎΠ΄
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π° Π² Python. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ Tkinter, Pygame ΠΈ wxPython, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΎΠΊΠ½Π°.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Π² Python, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².