zusammenfuegen von code

Plattformunabhängige GUIs mit wxWidgets.
Benutzeravatar
azrael1111
User
Beiträge: 23
Registriert: Sonntag 12. November 2006, 21:05
Wohnort: Croatien

zusammenfuegen von code

Beitragvon azrael1111 » Samstag 2. Dezember 2006, 00:42

kann mir jemand helfen. Ich arbeite an einem program im boa cons.
Vor einiger Zeit habe ich um hilfe gebeten und Gerold hat mir sehr geholfen als er mr ein Beispiel gescrieben hat. Als ich das Beispiel als ein MDIChildFrame in den boa einfuegen wolte, nahm er es nish an.

Kann mi jemand helfen wie ich in diesen code:

Code: Alles auswählen

import wx
import wx.lib.imagebrowser as ib

def create(parent):
    return MDIChildFrame1(parent)

[wxID_MDICHILDFRAME1] = [wx.NewId() for _init_ctrls in range(1)]

class MDIChildFrame1(wx.MDIChildFrame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.MDIChildFrame.__init__(self, id=wxID_MDICHILDFRAME1, name='',
              parent=prnt, pos=wx.Point(441, 222), size=wx.Size(400, 250),
              style=wx.DEFAULT_FRAME_STYLE, title='MDIChildFrame1')
        self.SetClientSize(wx.Size(392, 216))

    def __init__(self, parent):
        self._init_ctrls(parent)




diesen code einfuegen kann


Code: Alles auswählen

import wx.lib.imagebrowser as ib

wx.SetDefaultPyEncoding("iso-8859-1")


class MyFrame(wx.Frame):
   
    def __init__(self, parent = None, id = -1, title = "Bildanzeige"):
       
        # Init
        wx.Frame.__init__(
            self, parent, id, title, style = wx.DEFAULT_FRAME_STYLE & ~ (
                wx.RESIZE_BORDER | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX
            )
        )
       
        self.titlestring = title
       
        # Panel
        panel = wx.Panel(self)
        self.panel = panel
       
        # Sizer
        vbox = wx.BoxSizer(wx.VERTICAL)
        panel.SetSizer(vbox)
       
        # Bildanzeige
        image_view = wx.StaticBitmap(panel, size = (50, 10))
        vbox.Add(image_view, 1, wx.EXPAND)
        self.image_view = image_view
        image_view.Bind(wx.EVT_LEFT_UP, self.show_image)
       
        # Frame auf Mindestgröße resizen und zentrieren
        panel.Fit()
        self.Fit()
        self.Center()
   
   
    def show_image(self, event = None):
       
        image_view = self.image_view
        panel = self.panel
       
        # Dialog
        dlg = ib.ImageDialog(self)
        if dlg.ShowModal() == wx.ID_OK:
           
            # Dateiname eruieren und in Titelleiste schreiben
            filename = dlg.GetFile()
            self.SetLabel(self.titlestring + " -- " + filename)
           
            # Bild laden
            image = wx.Image(filename)
           
            # Bilaufbau des Frames sperren
            self.Freeze()
           
            # Mindestgröße des Bildes festlegen und Panel und Frame an
            # Mindestgröße anpassen.
            image_view.SetSizeHintsSz(image.GetSize())
            panel.Fit()
            self.Fit()
           
            # Bild zuweisen
            image_view.SetBitmap(wx.BitmapFromImage(image))
            image_view.Refresh()
           
            # Bildaufbau wieder frei geben.
            self.Thaw()



der erste kommt aus dem Boa constructor und dass ist der Child frame den ich benoetige.
Der zweite ist der, der die benoetigte funktion hat der von gerold stammt aber allerdings von mir etwas nach gebrauch veraendert wurde.

Wenn ich versuche nur show_image nur einzufuegen ohne irgendetws mit ih zu verbinden und dann zu speichern bekomme ich volgendes: TypeError: encode() argument 1 must be string, not None


Danke im Voraus

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder