Menu Items einbetten???

Plattformunabhängige GUIs mit wxWidgets.
Antworten
$uper||man
User
Beiträge: 6
Registriert: Samstag 5. August 2006, 10:55
Wohnort: Berlin
Kontaktdaten:

Hallo,

Ich bin wie man an meinen bisherigen Posts sehen kann neu hier und auch ein Anfänger in sachen Python :)

Nun zu mein Problem ich habe mir schon eine MenuBar mit dem Menü Datei erstellt und wollte dem MenuItem "Speichern..." einbetten. Ich weiß jedoch nicht wie! In dem Tutorial wird es leider nicht gezeigt zumindest kann ich nichts daraus schließen mit meinen mageren Englisch kenntnissen ^^

Habe die Suche natürlich benutzt, jedoch habe ich nichts nützliches im Forum gefunden vielleicht nur falsch gesucht, habe einfach in der suche Menu eingegeben und unter dem Forum wxPython geschaut ;)

Und nur eine Frage am Rande gibt es für den Code auch eine kürzere Version:

Code: Alles auswählen

MenuDateiNew = wx.MenuItem(MenuDatei, 101, 'Neu...', 'Neue LyricList erstellen')
MenuDateiNew.SetBitmap(wx.Image('glymph/menu/symNew.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
MenuDatei.AppendItem(MenuDateiNew)
Ansonsten schonmal recht Herzlichen dank für die Hilfe :D

MfG $uper||man
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

Hallo, wenn ich mir das Beispiel ansehe (um ein vollständiges zu haben):

Code: Alles auswählen

#Editor window
#!/usr/bin/python

# menu1.py

import wx

class MyMenu(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(200, 150))

        menubar = wx.MenuBar()

        file = wx.Menu()
        edit = wx.Menu()
        help = wx.Menu()

        file.Append(101, '&Open', 'Open a new document')
        file.Append(102, '&Save', 'Save the document')
        file.AppendSeparator()
        quit = wx.MenuItem(file, 105, '&Quit\tCtrl+Q', 'Quit the Application')
        file.AppendItem(quit)

        menubar.Append(file, '&File')
        menubar.Append(edit, '&Edit')
        menubar.Append(help, '&Help')

        self.SetMenuBar(menubar)
        self.CreateStatusBar()

class MyApp(wx.App):
    def OnInit(self):
        frame = MyMenu(None, -1, 'menu1.py')
        frame.Show(True)
        return True

app = MyApp(0)
app.MainLoop()
Was ist genau unklar?
$uper||man
User
Beiträge: 6
Registriert: Samstag 5. August 2006, 10:55
Wohnort: Berlin
Kontaktdaten:

Hallo,

Daran ist nichts Unklar das habe ich schon alles Kapiert

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: iso-8859-1 -*-
#-----------------------------------------------
# LyricList ist ein Programm um den Text (Lyric)
# von Music zum Nachsingen darzustellen.
#
# Datum: 22.08.2006
# Entwickler: $uper||man
#-----------------------------------------------
import wx

#>> Hauptframe und MenuBar
class HauptFrame(wx.Frame):
    """ Hauptframe & Menu """

    def __init__(self, Parent, id, Title):
        """ Leeren Frame darstellen. """

        wx.Frame.__init__(self, Parent, id, Title,
                          pos = (150,150),
                          size = (350,350))

        #>> MenuBar Objekt erstellen.
        MenuBar = wx.MenuBar()

        #>> Menü deklarieren/definieren.
        MenuDatei = wx.Menu()

        #>> Menu Datei...
        MenuDateiNew = wx.MenuItem(MenuDatei, 101, 'Neu...', 'Neue LyricList erstellen')
        MenuDateiNew.SetBitmap(wx.Image('glymph/menu/symNew.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
        MenuDatei.AppendItem(MenuDateiNew)
	MenuDatei.AppendSeparator()

        MenuDateiExit = wx.MenuItem(MenuDatei, 105, 'Beenden', 'Das Programm Beenden')
        MenuDateiExit.SetBitmap(wx.Image('glymph/menu/symExit.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap())
        MenuDatei.AppendItem(MenuDateiExit)
    

        #>> Funktionen der Menü Items festlegen.
        self.Bind(wx.EVT_MENU, self.FrameBeenden, id = 105)

        #>> Menü wie folgt sortieren.
        MenuBar.Append(MenuDatei, "Datei")
        self.SetMenuBar(MenuBar)

        #>> Statusbar erstellen.
        self.CreateStatusBar()

    def FrameBeenden(self, evt):
        self.Close()

#----------------------------------------------------------------------------
class LyricList(wx.App):
    """ Starten der LyricList Applikation. """

    def OnInit(self):
        Frame = HauptFrame(None, -1, "Willkommen Gast! - LyricList")
        Frame.Centre()
        Frame.Show(True)

        return True


#----------------------------------------------------------------------------

def main():
    _app = LyricList(0)
    _app.MainLoop()


if __name__ == "__main__":
    main()

Ich wollte eigentlich nur wissen wie man z.B. den Menüpunkt "Neu..." Einbettet (So grau hinterlegt das man ihn nicht mehr auswählen kann)

Mehr nicht! :D

MfG $uper||man
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hoi,

mit einItem.Enable(False). Sie auch http://www.python-forum.de/topic-6891.html

Mir war auch nicht klar, was mit "einbetten" gemeint sein könnte bis Du es genau geschrieben hast. Vielleicht magst Du das bei der nächsten Anfrage berücksichtigen? ;-)

Gruß,
Christian
$uper||man
User
Beiträge: 6
Registriert: Samstag 5. August 2006, 10:55
Wohnort: Berlin
Kontaktdaten:

hehe Danke :)

In HTML nennt man das auch einbetten wenn ein Textfeld nicht beschreibar ist ergo dachte ich das man das auch so für die Menü Items nennt :D

Aber beim nächsten mal beschreibe ich es genauer ^^

MfG $uper||man
Francesco
User
Beiträge: 824
Registriert: Mittwoch 1. Dezember 2004, 12:35
Wohnort: Upper Austria

$uper||man hat geschrieben: Ich wollte eigentlich nur wissen wie man z.B. den Menüpunkt "Neu..." Einbettet (So grau hinterlegt das man ihn nicht mehr auswählen kann)

Mehr nicht! :D

MfG $uper||man
Asso! :)
Antworten