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
Francesco hat geschrieben: Was bekommst du als Ausgabe bei:
http://pastebin.com/ZPSUD3Az
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.