Seite 1 von 2
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 16:05
von ntrunk
@pe: dein letztes Code-Beispiel scheint in Ordnung zu sein, zumindest funktioniert es bei mir (mit copy&paste übernommen) anstandslos.
Evtl. ist deine wx-Installation defekt. Leider k.A. wie du das sicher feststellen kannst und ob oder wie du das in diesem Fall ohne De- und anschl. Neuinstallation repariert bekommst.
Hast du das Beispiel von Francesco mal ausgeführt oder den Vorschlag von Rebecca ausprobiert? Welche Ergebnisse bekommst du dann?
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 16:07
von pe
ntrunk hat geschrieben:@pe: dein letztes Code-Beispiel scheint in Ordnung zu sein, zumindest funktioniert es bei mir (mit copy&paste übernommen) anstandslos.
Also bei dir erscheint "File" und "Edit" oben in der Menüleiste?
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 16:47
von BlackJack
@pe: Wie führst Du das Programm eigentlich aus? Aus irgendeiner IDE?
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 17:14
von pe
BlackJack hat geschrieben:@pe: Wie führst Du das Programm eigentlich aus? Aus irgendeiner IDE?
Ja, aus Geany heraus. Wenn ich es aber mit Python allein aufrufe (python mein-programm.py), komme ich zum selben Ergebnis.
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 17:42
von pe
Hier bekomme ich auch nur das Fenster ohne Menüleiste. Das Minimal-Beispiel funktioniert, jedoch hätte ich davor gerne das Eingabefeld.
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 19:50
von ntrunk
pe hat geschrieben:Also bei dir erscheint "File" und "Edit" oben in der Menüleiste
Ja, das tun sie beide.
Nurmal als Vermutung in den Raum geworfen: vielleicht ist das Problem darin begründet, dass der Dialog im Konstruktor aufgerufen wird. Versuch mal als Workaround den Dialog nach Beendigung des Frame-Konstruktors in einer separaten Methode aufzurufen, ungefähr so:
Code: Alles auswählen
# -*- coding: iso-8859-1 -*-
import wx
class wxpythoninfo(wx.Frame):
def __init__(self, parent, id):
wx.Frame.__init__(self, parent, id, 'Window title', size=(300,200))
panel = wx.Panel(self)
def create_menus(self):
# var defining test
test = 'testtext'
# Eingabedialog
box = wx.TextEntryDialog(self, "Text over input field", "Windowtitle", test)
if box.ShowModal() == wx.ID_OK:
menubar = wx.MenuBar()
first = wx.Menu()
second = wx.Menu()
menubar.Append(first,"File")
menubar.Append(second,"Edit")
first.Append(wx.NewId(),"New window","That's a new window." )
first.Append(wx.NewId(),"Open","Opens a new window." )
self.SetMenuBar(menubar)
if __name__=='__main__':
#inits the program
app=wx.App()
#shows the program
frame = wxpythoninfo(parent=None, id=-1)
frame.create_menus()
frame.Show()
app.MainLoop()
Das ist allerdings zugegebenermaßen ein blindes Stochern in einer trüben Brühe...

Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 20:24
von pe
ntrunk hat geschrieben:
Nurmal als Vermutung in den Raum geworfen: vielleicht ist das Problem darin begründet, dass der Dialog im Konstruktor aufgerufen wird.
Hängt leider nicht daran..
Re: Menüleiste in Fenster platzieren, funktioniert nicht
Verfasst: Montag 9. August 2010, 21:37
von pe
Habe den Fehler gefunden. Ich hatte ein Gnome-Plugin installiert, welches sich Globalmenu nennt. Es verschiebt Menüleisten ins Gnome-Panel. Zwar war das Paket ungenutzt, aber installiert. Als ich es deinstalliert habe, sah ich die Menüleiste. Habe ich übrigens über den #wxpython IRC Channel erfahren. Dank an RobinD.