Liebe Mitmenschen.
Ich hab wenig Ahnung von wxpython, hab mir die letzten Tage Tkinter angeschaut, würde aber lieber mit wx arbeiten.
Was mit Tkinter geht ist folgendes:
Ein Fenster, darin eine Hintergrundgrafik erstellen, darauf verschiedene
Text-Eingabefelder über die Grafik (anhand von x/y Kordinaten)
verteilen.
Geht diese Kombi von grafischem Background und beliebigen anderen
Controls im Vordergrund ebenfalls unter wx? Bei Tkinter gehts ja recht easy mit der Canvas.
Wenn ja, wäre ich über zwei, drei Stichworte froh. Mir würde schon der Name der passenden Control für den Hintergrund reichen, den Rest
such ich mir schon aus der Doku zusammen.
Danke,
Bert.
Hintergrundgrafik in window
Hallo bertms
Willkommen in unserem Forum. Betreffs Hintergrundgrafik würde ich mich einmal näher mit den sogenannten 'Device Contexts' auseinandersetzen.
wx.DC
wx.PaintDC
wx.WindowDC
usw.
Hier ein Fenster mit einem Hintergrundmuster und einer Schaltfläche darauf:
Gruss wuf 
Willkommen in unserem Forum. Betreffs Hintergrundgrafik würde ich mich einmal näher mit den sogenannten 'Device Contexts' auseinandersetzen.
wx.DC
wx.PaintDC
wx.WindowDC
usw.
Hier ein Fenster mit einem Hintergrundmuster und einer Schaltfläche darauf:
Code: Alles auswählen
#!/usr/bin/env python
# coding: UTF-8
# Skriptname: stipple_filling_03_01.py (wuf)
import wx
from wx.lib.embeddedimage import PyEmbeddedImage
class MyPanel(wx.Panel):
#~~ Hintergrundmuster im Base64-Format
PATTERN = PyEmbeddedImage(
"""
iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAAXNSR0IArs4c
6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0
SU1FB9kFFwwyK7QdU0QAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJ
TVBXgQ4XAAAAHklEQVQY02Mw6Gb+/+UZ539cNAM+SYNu5v8Mw8IEADJsk+F2
2ekeAAAAAElFTkSuQmCC
""")
def __init__(self, parent):
wx.Panel.__init__(self, parent)
self.SetBackgroundColour('yellow')
self.Bind(wx.EVT_PAINT, self.on_paint)
self.stipple_pattern = self.PATTERN.GetBitmap()
#~~ Lege eine Schaltfäche über den Hintergrund
self.button1 = wx.Button(self, -1, label='Button1', pos=(10, 5))
def on_paint(self, event):
"""Der DC muss aufgefrischt werden"""
dc = wx.PaintDC(self)
brush = wx.Brush('red', wx.STIPPLE)
brush.SetStipple(self.stipple_pattern)
dc.SetBackground(brush)
dc.Clear()
app = wx.App(redirect=False)
app_win = wx.Frame(None, id=wx.ID_ANY, title="Widget auf Hintergrund",
size=(400,400))
panel = MyPanel(app_win)
app_win.Center()
app_win.Show()
app.MainLoop()

Take it easy Mates!