update example and docs link

This commit is contained in:
MeexReay 2025-09-20 18:13:16 +03:00
parent ff66f66fbe
commit d7cd2bb9e2
6 changed files with 73 additions and 66 deletions

View file

@ -2,25 +2,25 @@
A library for creating GUI-applications on pygame.
[Documentation](docs/DOCS.md)
[Documentation](https://github.com/MeexReay/pygwin2/blob/main/docs/DOCS.md)
## Usage
Here is a small example of usage (pygame style):
```py
import pygwin
import pygwin2 as pgw
win = pygwin.create('Title',(500,500))
win = pgw.create('Title',(500,500))
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
for event in pgw.getEvents():
if event.type == pgw.QUIT:
run = False
win.update()
pygwin.close()
pgw.close()
```

View file

@ -1,30 +1,30 @@
import pygwin # Importing pygwin
import pygwin2 as pgw # Importing pygwin
import random # Importing random
win = pygwin.create("A Simple Game", (500, 500)) # Creating window
win = pgw.create("A Simple Game", (500, 500)) # Creating window
player = [250, 250] # Player position
apple = pygwin.rect(
apple = pgw.rect(
random.randint(0, 490), random.randint(0, 490), 20, 20
) # Apple rect
score = 0 # Player score
run = True # Is loop running
while run: # Creating loop
for event in pygwin.getEvents(): # Events loop
if event.type == pygwin.QUIT: # If window quit
for event in pgw.getEvents(): # Events loop
if event.type == pgw.QUIT: # If window quit
run = False # Break loop
win.fill((255, 255, 255)) # Fill window with color
win.blit(score, (0, 0)) # Writing player score
if pygwin.keyboard.isPressed("w"): # If keyboard key w pressed
if pgw.keyboard.isPressed("w"): # If keyboard key w pressed
player[1] -= 5 # Player position up
if pygwin.keyboard.isPressed("s"): # If keyboard key s pressed
if pgw.keyboard.isPressed("s"): # If keyboard key s pressed
player[1] += 5 # Player position down
if pygwin.keyboard.isPressed("d"): # If keyboard key d pressed
if pgw.keyboard.isPressed("d"): # If keyboard key d pressed
player[0] += 5 # Player position right
if pygwin.keyboard.isPressed("a"): # If keyboard key a pressed
if pgw.keyboard.isPressed("a"): # If keyboard key a pressed
player[0] -= 5 # Player position left
if player[0] <= -10: # If player out of the screen (left)
@ -36,15 +36,15 @@ while run: # Creating loop
if player[1] > 510: # If player out of the screen (down)
player[1] = -10 # Set player position in up
playerRect = pygwin.rect(player[0] - 10, player[1] - 10, 20, 20) # Player rect
playerRect = pgw.rect(player[0] - 10, player[1] - 10, 20, 20) # Player rect
win.draw.rect((0, 0, 0), playerRect) # Drawing player rect
win.draw.rect((200, 50, 50), apple) # Drawing apple rect
if playerRect.collide(apple): # If player rect collide apple rect
apple = pygwin.rect(
apple = pgw.rect(
random.randint(0, 490), random.randint(0, 490), 20, 20
) # Change apple rect
score += 1 # Update player score
win.update(60) # Update window
pygwin.close() # Close pygwin
pgw.close() # Close pygwin

View file

@ -1,36 +1,36 @@
import pygwin
import pygwin2 as pgw
import random
win = pygwin.create("A Simple Game", (500, 500))
win = pgw.create("A Simple Game", (500, 500))
player = [250, 250]
apple = pygwin.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
apple = pgw.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
score = 0
record = pygwin.record(win, True) # Init recording
record = pgw.record(win, True) # Init recording
record.start() # Start recording
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
for event in pgw.getEvents():
if event.type == pgw.QUIT:
run = False
record.stop() # Stop recording
win.fill((255, 255, 255))
playerRect = pygwin.rect(player[0] - 10, player[1] - 10, 20, 20)
playerRect = pgw.rect(player[0] - 10, player[1] - 10, 20, 20)
win.draw.rect((0, 0, 0), playerRect)
win.draw.rect((200, 50, 50), apple)
win.blit(score, (0, 0))
if pygwin.keyboard.isPressed("w"):
if pgw.keyboard.isPressed("w"):
player[1] -= 5
if pygwin.keyboard.isPressed("s"):
if pgw.keyboard.isPressed("s"):
player[1] += 5
if pygwin.keyboard.isPressed("d"):
if pgw.keyboard.isPressed("d"):
player[0] += 5
if pygwin.keyboard.isPressed("a"):
if pgw.keyboard.isPressed("a"):
player[0] -= 5
if player[0] <= -10:
@ -43,9 +43,9 @@ while run:
player[1] = -10
if playerRect.collide(apple):
apple = pygwin.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
apple = pgw.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
score += 1
win.update(60)
record.render("Recording.mp4") # Render recording
pygwin.close()
pgw.close()

View file

@ -1,12 +1,12 @@
import pygwin
import pygwin2 as pgw
win = pygwin.create("Title", (500, 500))
win = pgw.create("Title", (500, 500))
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
for event in pgw.getEvents():
if event.type == pgw.QUIT:
run = False
win.update()
pygwin.close()
pgw.close()

View file

@ -1,37 +1,44 @@
import pygwin
import pygwin2 as pgw
from pgw.ui.widget import *
from pgw.ui.base import base
win = pygwin.create("UI example", (270, 350))
base = pygwin.ui.base(win) # Creating ui base
win = pgw.create("UI example", (270, 350))
base = base(win) # Creating ui base
lbl = label("Label") # Creating label
lbl = pygwin.ui.label("Label") # Creating label
base.put(lbl, (130 - (lbl.surface.size[0] / 2), 10)) # Putting label to base
base.put(pygwin.ui.button("Button", width=250), (10, 50)) # Putting button to base
base.put(pygwin.ui.entry("Entry", width=123), (10, 100)) # Putting entry to base
base.put(button("Button", width=250), (10, 50)) # Putting button to base
base.put(entry("Entry", width=123), (10, 100)) # Putting entry to base
base.put(
pygwin.ui.keySelect("Key", width=122), (138, 100)
keySelect("Key", width=122), (138, 100)
) # Putting key selector to base
loadbar = pygwin.ui.loadingBar(250, 25) # Creating loading bar
loadbar = loadingBar(250, 25) # Creating loading bar
base.put(loadbar, (10, 150)) # Putting loading bar to base
slider = pygwin.ui.slider(250) # Creating slider
slider = slider(250) # Creating slider
base.put(slider, (10, 170)) # Putting slider to base
cb = pygwin.ui.checkBox(25, borderWidth=2) # Creating checkbox
cb = checkBox(25, borderWidth=2) # Creating checkbox
base.put(cb, (10, 220)) # Putting checkbox to base
base.put(pygwin.ui.label("Checkbox", 20), (45, 225)) # Putting checkbox label to base
ta = pygwin.ui.textarea("Textarea", width=250, maxSymbols=20) # Creating textarea
base.put(label("Checkbox", 20), (45, 225)) # Putting checkbox label to base
ta = textarea("Textarea", width=250, maxSymbols=20) # Creating textarea
ta.text += "0123456789\n0123456789" # Set text to textarea
ta.focus = True # Focus textarea
ta._generate() # Generate textarea surface
ta.focus = False # Unfocus textarea
base.put(ta, (10, 255)) # Putting textarea to base
tta = pygwin.ui.tip(
tta = tip(
"textarea", *ta.surface.size, waitBeforeShowing=30
) # Creating textarea tip
base.put(tta, (10, 255)) # Putting textarea tip to base
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
for event in pgw.getEvents():
if event.type == pgw.QUIT:
run = False
base.draw() # Drawing base
if cb.get(): # If checkbox
@ -44,4 +51,4 @@ while run:
ta.surface.size
) # Set responce width, height to textarea tip
win.update(30)
pygwin.close()
pgw.close()

View file

@ -1,39 +1,39 @@
import pygwin
import pygwin2 as pgw
import random
win = pygwin.create("A Simple Game", (500, 500))
win = pgw.create("A Simple Game", (500, 500))
win.denyDrag() # Prohibit dragging the window
start_pos = win.position # Start window pos
player = [250, 250]
apple = pygwin.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
apple = pgw.rect(random.randint(0, 490), random.randint(0, 490), 20, 20)
score = 0
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
for event in pgw.getEvents():
if event.type == pgw.QUIT:
run = False
win.fill((255, 255, 255))
win.blit(score, (0, 0))
set_position = list(win.position)
if pygwin.keyboard.isPressed("w"):
if pgw.keyboard.isPressed("w"):
player[1] -= 5
set_position[1] -= 5 # Move window up
if pygwin.keyboard.isPressed("s"):
if pgw.keyboard.isPressed("s"):
player[1] += 5
set_position[1] += 5 # Move window down
if pygwin.keyboard.isPressed("d"):
if pgw.keyboard.isPressed("d"):
player[0] += 5
set_position[0] += 5 # Move window right
if pygwin.keyboard.isPressed("a"):
if pgw.keyboard.isPressed("a"):
player[0] -= 5
set_position[0] -= 5 # Move window left
win.move(*set_position) # Set position
playerRect = pygwin.rect(player[0] - 10, player[1] - 10, 20, 20)
playerRect = pgw.rect(player[0] - 10, player[1] - 10, 20, 20)
playerRect.x += (
start_pos[0] - win.position[0]
) # Set player rect x pos relatively start window position
@ -52,8 +52,8 @@ while run:
win.draw.rect((200, 50, 50), atemp)
if atemp.collide(playerRect):
apple = pygwin.rect(random.randint(50, 490), random.randint(50, 490), 20, 20)
apple = pgw.rect(random.randint(50, 490), random.randint(50, 490), 20, 20)
score += 1
win.update(60)
pygwin.close()
pgw.close()