@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?
Menüleiste in Fenster platzieren, funktioniert nicht
Also bei dir erscheint "File" und "Edit" oben in der Menüleiste?ntrunk hat geschrieben:@pe: dein letztes Code-Beispiel scheint in Ordnung zu sein, zumindest funktioniert es bei mir (mit copy&paste übernommen) anstandslos.
Ich bedanke mich für Eure Zeit und Aufmerksamkeit.
Ja, aus Geany heraus. Wenn ich es aber mit Python allein aufrufe (python mein-programm.py), komme ich zum selben Ergebnis.BlackJack hat geschrieben:@pe: Wie führst Du das Programm eigentlich aus? Aus irgendeiner IDE?
Ich bedanke mich für Eure Zeit und Aufmerksamkeit.
Hier bekomme ich auch nur das Fenster ohne Menüleiste. Das Minimal-Beispiel funktioniert, jedoch hätte ich davor gerne das Eingabefeld.Francesco hat geschrieben: Was bekommst du als Ausgabe bei:
http://pastebin.com/ZPSUD3Az
Ich bedanke mich für Eure Zeit und Aufmerksamkeit.
Ja, das tun sie beide.pe hat geschrieben:Also bei dir erscheint "File" und "Edit" oben in der Menüleiste
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()
Hängt leider nicht daran..ntrunk hat geschrieben: Nurmal als Vermutung in den Raum geworfen: vielleicht ist das Problem darin begründet, dass der Dialog im Konstruktor aufgerufen wird.
Ich bedanke mich für Eure Zeit und Aufmerksamkeit.
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.
Ich bedanke mich für Eure Zeit und Aufmerksamkeit.