小编pol*_*i_g的帖子

在Linux上创建带范围的wxSlider

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

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)
Run Code Online (Sandbox Code Playgroud)

但是"SL_SELRANGE"在Linux上什么都不做(应该提供两个句柄,以选择范围).

python linux wxwidgets

17
推荐指数
1
解决办法
461
查看次数

当key是迭代器时,使用点表示法在Python中创建字典条目

我的子类dict是这样的:

class ObjectiveDict(dict):

    def __getattr__(self, name):
        if name in self:
            return self[name]
        else:
            raise AttributeError("No such attribute: " + name)

    def __setattr__(self, name, value):
        """
        IMPORTANT NOTICE: when "name" is an iterator of an iterable, will not work, must use [] syntax
        """
        self[name] = value

    def __delattr__(self, name):
        if name in self:
            del self[name]
        else:
            raise AttributeError("No such attribute: " + name)
Run Code Online (Sandbox Code Playgroud)

现在我有类似的东西:

objd = ObjectiveDict({'a':1, 'b':2, 'c':3})
objd.d = 4
Run Code Online (Sandbox Code Playgroud)

这很好用,输出:

{'a': 1, 'b': 2, 'c': …
Run Code Online (Sandbox Code Playgroud)

python dictionary

2
推荐指数
1
解决办法
839
查看次数

标签 统计

python ×2

dictionary ×1

linux ×1

wxwidgets ×1