質問

可能で、完全に透明窓Pygameのデスクトップを通して)?がその場で発音を確認することがどのように作成ウィンドウのフレームがなされたことは明らかにする。

思高い意欲を有すること提携システム-技術の具体的枠組みが続いているときは、いずれにおいても、Windows、Mac OS Xなくなった方向き。

の話題かを見つけることができました。 推奨使用wxPython, ではない何かができるかをこのプロジェクトにあるこのPygame).

役に立ちましたか?

解決

pygameのダウンロードには、透明窓をサポートしていませんSDLは、使用しています。少なくともLinux上では、それを透明にすることがウィンドウマネージャではなく、アプリケーションによって行われます。

他のヒント

Windowsることができる、固体の背景色を設定し、ウィンドウの透明性色のWin32API機能 SetLayeredWindowAttributes().(呼び出され pywin32)

コード:

import pygame
import win32api
import win32con
import win32gui

pygame.init()
screen = pygame.display.set_mode((800, 600)) # For borderless, use pygame.NOFRAME
done = False
fuchsia = (255, 0, 128)  # Transparency color
dark_red = (139, 0, 0)

# Set window transparency color
hwnd = pygame.display.get_wm_info()["window"]
win32gui.SetWindowLong(hwnd, win32con.GWL_EXSTYLE,
                       win32gui.GetWindowLong(hwnd, win32con.GWL_EXSTYLE) | win32con.WS_EX_LAYERED)
win32gui.SetLayeredWindowAttributes(hwnd, win32api.RGB(*fuchsia), 0, win32con.LWA_COLORKEY)

while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True

    screen.fill(fuchsia)  # Transparent background
    pygame.draw.rect(screen, dark_red, pygame.Rect(30, 30, 60, 60))
    pygame.display.update()

結果:

Transparent Pygame Window

説明:

任意のウィンドウのご利用の透明性の色が完全に透過的です。することができますと他のデスクトップアイコンまたはプログラムの裏手に位置しのゲームです。

削除を押した際に設定することができまPygameの表示モード NOFRAME.

screen = pygame.display.set_mode((800, 600), pygame.NOFRAME)

参照:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top