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()