Logo und Start-Button

Plattformunabhängige GUIs mit wxWidgets.
Antworten
gmaubach
User
Beiträge: 1
Registriert: Dienstag 22. August 2006, 18:16

Hallo zusammen,

ich bin Neuling in Bezug auf Python-Programmierung, deshalb die vielleicht etwas banale Frage.

Ich benötige für eine Präsentation ein Logo am Anfang meines Python-Programms und darunter einen Start-Button, der beim Anklicken den weiteren Code ausführt und am Ende ein weiteres Logo und darunter ein ok-Button der beim Anklicken das Programm beendet und den Text "FINISH" ausgibt. Ich habe irgendwo folgenden Code gefunden, weiss aber nicht an welchen Stellen ich ihn für meine Zwecke anpassen muss. Das eingebundene Logo erscheint zu groß auch wenn ich die Größe des Fensters zum Beispiel auf size = 50, 50 ändere.

Hier ist der Code:


import wx

class Frame(wx.Frame):
"""Frame class that displays an image"""

def __init__(self, image, parent=None, id=-1, pos=wx.DefaultPosition, title='Dummy Title'):
"""Create a Frame instance and display an image."""
temp = image.ConvertToBitmap()
size = 50, 50
wx.Frame.__init__(self, parent, id, title, pos,size)
self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)

class App(wx.App):
"""Application class"""

def OnInit(self):
image = wx.Image(r'c:\temp\logo_solidcolors.jpg', wx.BITMAP_TYPE_JPEG)
self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True

def main():
app = App()
app.MainLoop()

if __name__ == '__main__':
main()
print 'FINISH!'

Kann mir jemand helfen?

Gruß

Georg
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi Georg!

Willkommen hier im Python-Forum!

Bitte stelle deinen Code zwischen Code-Tags. Dann ist er besser lesbar. Deinen Beitrag kannst du nachbearbeiten, wenn du auf den Button [Edit] klickst.

Siehe: Codehighlighting

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

gmaubach hat geschrieben:Das eingebundene Logo erscheint zu groß auch wenn ich die Größe des Fensters zum Beispiel auf size = 50, 50 ändere.
Hi Georg!

Du kannst mit ``Scale()`` ein Bild verkleinern. Hier siehst du es im Einsatz:
http://www.python-forum.de/post-37711.html#37711

Ob du sonst noch Probleme hast, erkennt man erst, wenn der Code lesbar ist. ;-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Nein, der Code ist in Ordnung.

Ich poste nochmals das Programm mit den Python-Tags:

Code: Alles auswählen

import wx

class Frame(wx.Frame):
  """Frame class that displays an image"""

  def __init__(self, image, parent=None, id=-1, pos=wx.DefaultPosition, title='Dummy Title'):
    """Create a Frame instance and display an image."""
    scaled_image = image.Scale(60, 40) #resize or in better words scale the picture
    temp = image.ConvertToBitmap()
    size = 50, 50
    wx.Frame.__init__(self, parent, id, title, pos, size)
    self.bmp = wx.StaticBitmap(parent=self, bitmap=temp)

class App(wx.App):
  """Application class"""

  def OnInit(self):
    image = wx.Image(r'c:\temp\logo_solidcolors.jpg', wx.BITMAP_TYPE_JPEG)
    self.frame = Frame(image)
    self.frame.Show()
    self.SetTopWindow(self.frame)
    return True

def main():
  app = App(0)
  app.MainLoop()

if __name__ == '__main__':
  main()
  print 'FINISH!'

Antworten