Seite 1 von 1

Andere Funktion aufrufen

Verfasst: Sonntag 4. März 2018, 11:28
von roy-lueders
Hi Leute,

Ich habe mir mittels wxPython meine Menübar zusammen gebaut.
Jetzt möchte ich gern die einzelnen Punkte auch aufrufen.
Dies habe ich mit DataRecord -> Dashboard und DataRecord -> Motorräder schon mal probiert.
Wenn ich es aufrufe kommt erstmal nur ein Button mit dem jeweiligen Namen, aber sobald ich Dashboard und dann Motorräder aufrufe und über den Button mit der Maus fahre, ändert sich der Inhalt des Buttons.

Wo liegt mein Fehler?

Anbei der Code.

Code: Alles auswählen

# -*- coding: utf8 -*-
import wx

PROGRAMM = 'DataRecord'
VERSION = '0.0.1'
AUTHOR = 'Roy Lüders'
COPY = '2018'

class MainWindow(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, size=(800,600))
        self.Menu()
        
        self.Show(True)



    def Menu(self):
        DR = wx.Menu()
        DR_DR = DR.Append(wx.NewId(),"Dashboard")
        self.Bind(wx.EVT_MENU, self.Dashboard, DR_DR)
        DR_DATEIEN = DR.Append(wx.NewId(),"Dateien")
        DR_FAHRER = DR.Append(wx.NewId(),"Fahrer")
        DR_GUIDES = DR.Append(wx.NewId(),"Guides")
        DR_BIKES = DR.Append(wx.NewId(),"Motorräder")
        self.Bind(wx.EVT_MENU, self.Bikes, DR_BIKES)
        DR_ROLLOUTS = DR.Append(wx.NewId(),"Rollouts")
        DR_STRECKEN = DR.Append(wx.NewId(),"Strecken")
        DR_TRANSMISSION = DR.Append(wx.NewId(),'Übersetzungen')
        DR.AppendSeparator()        
        DR_QUIT = DR.Append(wx.NewId(),"Beenden")
        self.Bind(wx.EVT_MENU, self.OnQuit, DR_QUIT)

        SETTINGS = wx.Menu()
        SETTINGS_USER = SETTINGS.Append(wx.NewId(),'Benutzer')

        ABOUT = wx.Menu()
        ABOUT_UPDATE = ABOUT.Append(wx.NewId(),'nach Update suchen')
        ABOUT.AppendSeparator()
        ABOUT_INFO = ABOUT.Append(wx.NewId(),'Info')
        self.Bind(wx.EVT_MENU, self.OnInfo, ABOUT_INFO)
        
        MenuBar = wx.MenuBar()
        MenuBar.Append(DR,"&DataRecord")
        MenuBar.Append(SETTINGS,"&Einstellungen")
        MenuBar.Append(ABOUT,"&?")
        self.SetMenuBar(MenuBar)

    def OnQuit(self, event):
        self.Close()

    def OnInfo(self, event):
        Message_text = 'Programm:' + PROGRAMM + '\nVersion: ' + VERSION + '\nCopyright ' + COPY + ' liegt bei ' + AUTHOR + '.'
        wx.MessageBox(Message_text, 'Über ' + PROGRAMM + ' ' + VERSION,wx.OK | wx.ICON_INFORMATION)

    def Dashboard(self, event):
        screenSize = wx.DisplaySize()
        DB_PANEL = wx.Panel(self,size=(screenSize[0],screenSize[1]), pos=(0,0))
        DB_PANEL.addButton = wx.Button(DB_PANEL,wx.NewId(), label="Dashboard")

    def Bikes(self, event):
        screenSize = wx.DisplaySize()
        B_PANEL = wx.Panel(self,size=(screenSize[0],screenSize[1]), pos=(0,0))
        B_PANEL.addButton = wx.Button(B_PANEL,wx.NewId(), label="Bikes")
    

app = wx.App(False)
frame = MainWindow(None)
app.MainLoop()

Re: Andere Funktion aufrufen

Verfasst: Dienstag 6. März 2018, 21:43
von Humbalan
Hallo roy-lueders,
was sollte denn passieren :K ? Bevor das nicht klar ist, ist Deine Frage leider nicht beantwortbar :wink:
Grüße