2014-02-09 15 views
8

Ich müsste einIndividuelle Slider-Widget mit wxPython

slider = wx.Slider(self, 100, 25, 1, 100, (30, 60), (250, -1), wx.SL_HORIZONTAL) 

enter image description here

haben einen transparenten Hintergrund machen (weil es auf einem Display angezeigt wird, die eine uneinheitliche Hintergrund hat).

Allgemeiner, Wie ist es möglich, sein Aussehen auf so etwas zu ändern?

enter image description here

(Ich bin offen .png-Dateien für die Widget-Elemente zu verwenden, wenn nötig.)

Antwort

4

Nein, wxWidgets verwendet native Look and Feel und native Steuerelemente unter Windows aussehen wie Ihr Top-Screenshot, nicht der untere. Wenn Sie ein benutzerdefiniertes Aussehen haben möchten, müssen Sie ein benutzerdefiniertes Steuerelement verwenden.

+0

Ok, also muss ich meine eigene Kontrolle erstellen, indem ich 'wx.PyControl' (oder eine andere? Welche?) Und die Bindung selbst mache, um das Slider Image zu verschieben? Aber das Problem wird das gleiche sein: wie Transparenz für 'wx.PyControl' zu haben? – Basj

+0

Sieh dir 'samples/erase/erase.cpp' in der wxWidgets-Distribution an. Seien Sie gewarnt, dass Kind Fenster Transparenz ist leider nicht unter allen Plattformen unterstützt. –

+0

Also, was ist die gute Lösung (auf allen Plattformen arbeiten), ein 'wx.PyControl' Widget zu haben, das keinen rechteckigen schwarzen oder weißen Hintergrund hat, sondern eher in das übergeordnete Fenster eingefügt wird? – Basj