by Anonymous » 03 Jun 2025, 09:24
Ich habe ein vorhandenes offenes Fenster, das von SDL 2 in C/C ++ erstellt wurde. Ich möchte, dass der Prozess ein Python-Skript (mit Boost/Python) aufruft, um einige GUI-Elemente hinzuzufügen.
Code: Select all
import sys
import sdl2
import sdl2.ext
import tkinter as tk
from tkinter import *
# Initialize SDL2
sdl2.ext.init()
# Set up the window
window_width = 800
window_height = 600
window_title = "SDL2 Window"
window = sdl2.ext.Window(window_title, size=(window_width, window_height))
window.show()
# Get SDL handle for the window
wminfo = sdl2.SDL_SysWMinfo()
sdl2.SDL_VERSION(wminfo.version)
window_id = sdl2.SDL_GetWindowWMInfo(window.window, wminfo)
print(wminfo.info.win.window)
#tkinter
The tkinter code examples mentioned below come here
Betrachten Sie
https://docs.python.org/3/library/tkint ... tkinter.tk, ich sehe, dass
id Ausdruck des folgenden Ausdrucks einer Fenster-ID ähnlich wie window_id < /code> oben.
Code: Select all
root = tk.Tk()
tk_id = root.winfo_id()
Ausführen von child = tk.tk (use = str (wMinfo.info.win.Window)) lässt Python ohne Ausnahme beenden. VS Code schreibt Server [1] unerwartet getrennt Aber
ich denke nicht, dass dies der X11 -Server ist, sondern der Debugger. Vermisse ich hier etwas Einfaches?
Ich habe ein vorhandenes offenes Fenster, das von SDL 2 in C/C ++ erstellt wurde. Ich möchte, dass der Prozess ein Python-Skript (mit Boost/Python) aufruft, um einige GUI-Elemente hinzuzufügen.[code]import sys
import sdl2
import sdl2.ext
import tkinter as tk
from tkinter import *
# Initialize SDL2
sdl2.ext.init()
# Set up the window
window_width = 800
window_height = 600
window_title = "SDL2 Window"
window = sdl2.ext.Window(window_title, size=(window_width, window_height))
window.show()
# Get SDL handle for the window
wminfo = sdl2.SDL_SysWMinfo()
sdl2.SDL_VERSION(wminfo.version)
window_id = sdl2.SDL_GetWindowWMInfo(window.window, wminfo)
print(wminfo.info.win.window)
#tkinter
The tkinter code examples mentioned below come here
[/code]
Betrachten Sie https://docs.python.org/3/library/tkinter.html#tkinter.tk, ich sehe, dass
id Ausdruck des folgenden Ausdrucks einer Fenster-ID ähnlich wie window_id < /code> oben.[code]root = tk.Tk()
tk_id = root.winfo_id()
[/code]
Ausführen von child = tk.tk (use = str (wMinfo.info.win.Window)) lässt Python ohne Ausnahme beenden. VS Code schreibt Server [1] unerwartet getrennt Aber [url=viewtopic.php?t=18208]ich denke[/url] nicht, dass dies der X11 -Server ist, sondern der Debugger. Vermisse ich hier etwas Einfaches?