비직사각형 창

키비로 비사각형 창을 만드는 방법에 대한 글입니다.
참고로 이 보도의 내용은 내가 개성학원 컴퓨터부의 문화제에 쓴 부지의 내용과 거의 같다.
pdf이기 때문에 편하면여기. 다운로드할 수 있습니다.

이미지 준비


우선 창 모양을 결정하는 그림을 준비합니다.여기서 주의해야 할 것은 투명한 정보를 가진 그림을 준비하는 것이다.윈도10에 표준으로 탑재된 페인트 3D 같은 것을 사용하면 상당히 간단하다.
나는 이런 느낌의 그림을 준비했다.

프로그램 작성


나는 프로그램을 쓴다.
from kivy.config import Config
Config.set('graphics','shaped',1)
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.core.window import Window
from kivy.clock import Clock
import PIL


Window.fullscreen = False
Window.borderless = True
img_path = './HEBIKUNN.png'
img = PIL.Image.open(img_path)

class Test(App):
    def build(self):
        global img
        Window.size = img.size
        Clock.schedule_once(self.set)
        snake = BoxLayout()
        snake.add_widget(Button(text='1',on_press=lambda _: self.stop()))
        snake.add_widget(Button(text='2'))
        return snake
    def set(self,dt):
        global img_path
        Window.shape_image = img_path
        Window.shape_mode = 'binalpha'

Test().run()
어쨌든 일단 실행해 보자.

↑ 이렇게 되면 성공이다.
잘 비사각형 창이 됐어.
단계
1. 투명한 정보로 이미지 준비
2.build 방법으로 Window크기를 이미지 크기로 설정
3. shape_image,shape_mode를 이미지 경로 "binalpha"(비사각형 창으로 설정)
이렇게 하는 것은 매우 간단하다.

난점


확실히 이 방법으로 비사각형 창을 간단하게 만들 수 있지만 주의해야 할 점이 있다.
그것은 엉망진창으로 처리된 것이다.물론 직사각형 창보다 훨씬 무겁다.
그래서 실용성이 좀 어려워요.하지만 상당히 재미있는 일(모니터의 캐릭터를 만들어 이동할 수 있는 게임 등)도 있으니 꼭 해보세요.

좋은 웹페이지 즐겨찾기