2 Stimmen

Wie entfernt man den 1px-Rahmen unter einer Symbolleiste?

Ich habe eine Symbolleiste, die sich neben einem Schieberegler befindet (Screenshot: http://i54.tinypic.com/w2n6ag.jpg ) und wxPython setzt automatisch einen winzigen 1px-Rahmen unter die Schaltflächen [Play/Pause/Stop | Previous/Next].

Dies sieht überhaupt nicht schön aus, ist es möglich, es zu entfernen / setzen Sie es auf 0px? Ich danke Ihnen sehr viel.

Hier ist ein Teil des Codes

    toolbar = wx.ToolBar(self, wx.ID_ANY, style=wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT)
    toolbar.SetToolBitmapSize((24, 24))

    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_play.png'), shortHelp='Play', longHelp='')
    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_pause.png'), shortHelp='Pause', longHelp='')
    toolbar.AddRadioLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/control_stop.png'), shortHelp='Stop', longHelp='')
    toolbar.AddSeparator()
    toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/frame_previous.png'), shortHelp='Previous', longHelp='')
    toolbar.AddLabelTool(wx.ID_ANY, '', wx.Bitmap('icons/buttons/frame_next.png'), shortHelp='Next', longHelp='')

    toolbar.Realize()

p/s: vertikale Symbolleiste (d.h. wx.TB_VERTICAL) hat nicht diesen unteren Rand, so dass eine vorübergehende Lösung ist, 5 vertikale Symbolleisten nebeneinander zu haben (jede hat eine Schaltfläche), aber ich denke, es vielleicht eine andere Lösung für diese?

4voto

ChrisC Punkte 1272

Nur für den Fall, dass jemand anderes auf der Suche nach einer Lösung für das gleiche Problem hierher stolpert: Versuchen Sie, Folgendes hinzuzufügen wx.TB_NODIVIDER zu Ihrem Stil, z.B.

style=wx.TB_HORIZONTAL | wx.NO_BORDER | wx.TB_FLAT | wx.TB_NODIVIDER

Bei mir ist die hässliche Linie unter XP jedenfalls verschwunden.

1voto

Mike Driscoll Punkte 31938

Ich wusste nicht, dass Symbolleisten Linien hinzufügen. Das muss plattformspezifisch sein, und wenn ja, dann ist das normal. Der einfachste Weg, den ich mir vorstellen kann, um dies zu umgehen ist, um nur uns eine horizontale BoxSizer und setzen Sie alle Ihre Widgets in das stattdessen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X