在Linux上使用范围创建wxSlider

问题描述 投票:18回答:3

我正在尝试使用Python中的wxSlider创建一个带有范围选择选项的滑块。它具有可选的range参数,但问题是:

SL_SELRANGE:允许用户在滑块上选择一个范围。仅Windows。

而且我正在使用Linux。我以为我可以继承wxSlider并使它在Linux上运行,或者自己创建一个自定义小部件。问题是我不确定该如何选择。任何想法/指针/向正确的方向指点我将不胜感激。

我尝试过类似的事情:

range_slider = wx.Slider(parent, wx.ID_ANY, 0, 0, 100, style=wx.SL_HORIZONTAL | wx.SL_LABELS | wx.SL_SELRANGE)

但是在Linux上“ SL_SELRANGE”没有任何作用(应该提供两个句柄以选择范围)。

python linux wxwidgets
3个回答
1
投票

您可以有两个滑块;一个会推高另一个,使它保持较低,而另一个会保持较高?

我知道这不是同一件事,对不起,但这是一个选择。因此,当self.minSlider移动时,将wx.EVT_SCROLL与一个函数绑定,该函数将执行以下操作:

self.minSlider.Bind(wx.EVT_SCROLL, self.respondSliderChange())

def respondSliderChange(self):
    if self.minSlider.GetValue() >= self.maxSlider.GetValue():
        self.maxSlider.SetValue(self.minSlider.GetValue()+1)

反之亦然,对于maxSlider。

此外,您可以研究创建自定义小部件here


0
投票

与事物有关的描述here。>

简而言之,就是绘制一个框,并为其上色以代表您的范围。在您的用户左键单击的左侧,以及在您的用户右键单击的右侧。

代替方框和颜色,您可以在一行上绘制一些标记:

--------[-----------]--

0
投票

我知道这个问题已有好几年了,但是即使为时已晚不能帮助您,也可能会帮助其他人,因为我最近遇到了同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.