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
Logo und Start-Button
- 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
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Georg!gmaubach hat geschrieben:Das eingebundene Logo erscheint zu groß auch wenn ich die Größe des Fensters zum Beispiel auf size = 50, 50 ändere.
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.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Nein, der Code ist in Ordnung.
Ich poste nochmals das Programm mit den Python-Tags:
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!'