ToolBar Text unter Bitmap

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Sonntag 8. Februar 2009, 17:17

Hallo

Wenn man z.B. den "gedit" startet ist unter den Bitmaps in der Toolbar noch eine Beschriftung z.B. "Neu, Öffnen"

Wie geht das bei Wx?

Ich Adde die Tools bis jetzt so:

Code: Alles auswählen

self.new = self.toolbar.AddLabelTool(
    wx.ID_NEW,
    label = "neu",
    bitmap = wx.ArtProvider_GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR), 
    shortHelp='Neues Dokument'
         ) 
Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Dienstag 17. Februar 2009, 10:09

Hoi,

Dein Code ist natürlich kein lauffähiges Beispiel, aber das macht ja nichts. Die wx.ToolBar-Klasse hat verschiedene Styles, die Du am besten bei der Initialisierung übergibst (wx.TB_HORIZONTAL (Default) oder wx.TB_VERTICAL zum Beispiel). Hier kann man auch wx.TB_TEXT übergeben. Und das ist der Flag, den Du suchst.

So in etwa:

Code: Alles auswählen

import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self, None, -1)
        tb = self.CreateToolBar( wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT | wx.TB_TEXT )
        tb.AddLabelTool(10, "New", 
                        wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_TOOLBAR, (24,24)), 
                        shortHelp="New")

def main():
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()

if __name__ == "__main__":
    main()
Kann man natürlich auch etwas übersichtlicher gestalten ;-) .

HTH
Christian
Andyh
User
Beiträge: 319
Registriert: Dienstag 8. Januar 2008, 19:52
Kontaktdaten:

Sonntag 22. Februar 2009, 14:02

Hallo

Danke genau das wars!

Gruß
Andyh
Meinen Dickschädel schon bemerkt?
Ich bin jetzt FACHARBEITER (Zerspanungsmechaniker)!!!
[code]import sys

if sys.platform == "win32":
print "this program only runs on operating systems!!!"
sys.TotalError()[/code]
Antworten