more work done
This commit is contained in:
parent
48d0d36400
commit
3c5a5aa37a
@ -1,28 +1,115 @@
|
|||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Window 2.15
|
||||||
import QtQuick.Controls 2.15
|
import QtQuick.Controls 2.15
|
||||||
|
|
||||||
ApplicationWindow {
|
ApplicationWindow {
|
||||||
id: mainWindow
|
id: mainWindow
|
||||||
visible: true
|
visible: true
|
||||||
width: 600
|
width: 800
|
||||||
height: 500
|
height: 600
|
||||||
title: "HelloApp"
|
title: "StarSky Presenter"
|
||||||
|
flags: Qt.FramelessWindowHint
|
||||||
Text {
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
y: 0
|
|
||||||
height: parent.height * 0.1
|
|
||||||
text: "Hello World"
|
|
||||||
font.pixelSize: 24
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
width: parent.width
|
width: parent.width * 0.9
|
||||||
y: parent.height * 0.9
|
y: parent.height * 0.85
|
||||||
height: parent.height * 0.1
|
height: parent.height * 0.1
|
||||||
text: "Close"
|
text: "Close"
|
||||||
onClicked: controller_backend.test_function()
|
onClicked: controller_backend.close_application()
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
x: parent.width * 0.1 / 9 / 2
|
||||||
|
y: parent.height * 0.1 / 5 / 2
|
||||||
|
width: parent.width * 0.9
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 1"
|
||||||
|
font.pixelSize: 60
|
||||||
|
color: "white"
|
||||||
|
horizontalAlignment: Text.AlignHCenter
|
||||||
|
verticalAlignment: Text.AlignVCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (0 + 0.5) + (parent.width * 0.9 / 9) * 0
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 1"
|
||||||
|
onClicked: controller_backend.select_scene(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (1 + 0.5) + (parent.width * 0.9 / 9) * 1
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 2"
|
||||||
|
onClicked: controller_backend.select_scene(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (2 + 0.5) + (parent.width * 0.9 / 9) * 2
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 3"
|
||||||
|
onClicked: controller_backend.select_scene(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (3 + 0.5) + (parent.width * 0.9 / 9) * 3
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 4"
|
||||||
|
onClicked: controller_backend.select_scene(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (4 + 0.5) + (parent.width * 0.9 / 9) * 4
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 5"
|
||||||
|
onClicked: controller_backend.select_scene(5)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (5 + 0.5) + (parent.width * 0.9 / 9) * 5
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 6"
|
||||||
|
onClicked: controller_backend.select_scene(6)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (6 + 0.5) + (parent.width * 0.9 / 9) * 6
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 7"
|
||||||
|
onClicked: controller_backend.select_scene(7)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (7 + 0.5) + (parent.width * 0.9 / 9) * 7
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 8"
|
||||||
|
onClicked: controller_backend.select_scene(8)
|
||||||
|
}
|
||||||
|
|
||||||
|
Button {
|
||||||
|
x: (parent.width * 0.1 / 9) * (8 + 0.5) + (parent.width * 0.9 / 9) * 8
|
||||||
|
y: (parent.height * 0.1 / 5) * (0 + 0.5) + (parent.height * 0.9 / 5) * 1
|
||||||
|
width: parent.width * 0.1
|
||||||
|
height: parent.height * 0.1
|
||||||
|
text: "Scene 9"
|
||||||
|
onClicked: controller_backend.select_scene(9)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1,13 +1,28 @@
|
|||||||
from PyQt6.QtCore import QObject, pyqtSlot
|
from PyQt6.QtCore import QObject, pyqtSlot
|
||||||
|
|
||||||
|
from time import time
|
||||||
|
|
||||||
|
|
||||||
class Controller(QObject):
|
class Controller(QObject):
|
||||||
def __init__(self, window, parent=None):
|
def __init__(self, window, parent=None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
self.window = window
|
self.window = window
|
||||||
|
self.last_close_press = 0
|
||||||
|
self.successful_clicks = 0
|
||||||
|
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
def test_function(self):
|
def close_application(self):
|
||||||
print("test function")
|
now = time()
|
||||||
self.window.running = False
|
if now - self.last_close_press < 0.2:
|
||||||
|
self.successful_clicks += 1
|
||||||
|
else:
|
||||||
|
self.successful_clicks = 0
|
||||||
|
|
||||||
|
if self.successful_clicks > 1:
|
||||||
|
self.window.running = False
|
||||||
|
|
||||||
|
self.last_close_press = now
|
||||||
|
|
||||||
|
@pyqtSlot(int)
|
||||||
|
def select_scene(self, scene: int):
|
||||||
|
self.window.selected_scene = scene
|
||||||
@ -16,6 +16,7 @@ def cli_main():
|
|||||||
|
|
||||||
stars = [
|
stars = [
|
||||||
Star(**{
|
Star(**{
|
||||||
|
"_id": i,
|
||||||
"x": random(),
|
"x": random(),
|
||||||
"y": random(),
|
"y": random(),
|
||||||
"alpha": random() * 360,
|
"alpha": random() * 360,
|
||||||
@ -24,7 +25,7 @@ def cli_main():
|
|||||||
"offset": random(),
|
"offset": random(),
|
||||||
"image": image
|
"image": image
|
||||||
})
|
})
|
||||||
for _ in range(4)
|
for i in range(4)
|
||||||
]
|
]
|
||||||
|
|
||||||
control_window = ControlWindow()
|
control_window = ControlWindow()
|
||||||
|
|||||||
@ -6,7 +6,8 @@ from time import time, sleep
|
|||||||
from random import random
|
from random import random
|
||||||
|
|
||||||
class Star:
|
class Star:
|
||||||
def __init__(self, x: int, y: int, alpha: float, rot: float, scale: float, offset: float, image: pygame.Surface):
|
def __init__(self, _id: int, x: int, y: int, alpha: float, rot: float, scale: float, offset: float, image: pygame.Surface):
|
||||||
|
self.id = _id
|
||||||
self.x = x
|
self.x = x
|
||||||
self.y = y
|
self.y = y
|
||||||
self.rot = rot
|
self.rot = rot
|
||||||
@ -19,10 +20,11 @@ class Screen:
|
|||||||
def __init__(self, stars: list[Star]) -> None:
|
def __init__(self, stars: list[Star]) -> None:
|
||||||
if not pygame.get_init():
|
if not pygame.get_init():
|
||||||
pygame.init()
|
pygame.init()
|
||||||
self.screen = pygame.display.set_mode((800, 600))
|
self.screen = pygame.display.set_mode((1920, 1080))
|
||||||
self.clock = pygame.time.Clock()
|
self.clock = pygame.time.Clock()
|
||||||
self.stars = stars
|
self.stars = stars
|
||||||
self.last = time()
|
self.last = time()
|
||||||
|
self.brightness = 1.0
|
||||||
|
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
@ -32,17 +34,13 @@ class Screen:
|
|||||||
self.last = now
|
self.last = now
|
||||||
for star in self.stars:
|
for star in self.stars:
|
||||||
star.alpha += star.rot * delta
|
star.alpha += star.rot * delta
|
||||||
#rotated = transform.rotate(star.image, star.alpha)
|
|
||||||
#scaled = transform.smoothscale_by(rotated, star.scale)
|
|
||||||
scaled = transform.rotozoom(star.image, star.alpha, star.scale)
|
scaled = transform.rotozoom(star.image, star.alpha, star.scale)
|
||||||
(w, h) = scaled.get_size()
|
(w, h) = scaled.get_size()
|
||||||
pos = (star.x*self.screen.get_width() - w/2, star.y*self.screen.get_height() - h/2)
|
pos = (star.x*self.screen.get_width() - w/2, star.y*self.screen.get_height() - h/2)
|
||||||
self.screen.blit(scaled, pos)
|
self.screen.blit(scaled, pos)
|
||||||
|
|
||||||
#self.screen.blit(scaled, dest=pos)
|
overlay = pygame.surface.Surface((1920, 1080), depth=32)
|
||||||
|
overlay.set_alpha(int(255 * (1 - self.brightness)))
|
||||||
overlay = pygame.surface.Surface((800, 600), depth=32)
|
|
||||||
overlay.set_alpha(128)
|
|
||||||
self.screen.blit(overlay, (0, 0))
|
self.screen.blit(overlay, (0, 0))
|
||||||
|
|
||||||
pygame.display.flip()
|
pygame.display.flip()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user