wxPython - 如何实现颜色滑块

时间:2018-04-21 13:05:51

标签: slider wxpython python-3.6

对于我的项目我想实现一个颜色滑块,例如ColourCubeDialog或Windows的原生颜色选择器对话框中的颜色滑块。这里有一些图片来说明我的意思:

https://www.codeproject.com/KB/WPF/WPFColourSlider/WpfColourSlider1.jpg https://www.codeproject.com/KB/miscctrl/XColorSpectrumCtrl/XColorSpectrumCtrl4.png

我在wx包中挖掘时找到了wx.lib.colourchooser.pycolourslider.PyColourSlider,我想我可以用它来实现颜色滑块。我尝试了以下方法,但它只显示了一个白色方块(大约15个像素),左上角有一个薄薄的黑色边框。

import wx
from wx.lib.colourchooser.pycolourslider import PyColourSlider

app = wx.App()

frame = wx.Frame(None, -1, title="PyColourSlider",style=wx.MINIMIZE_BOX|
                 wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX|wx.RESIZE_BORDER)
panel = wx.Panel(frame)
slider = PyColourSlider(panel, -1)
slider.SetBaseColour(wx.Colour(80, 100, 120)) # some random color
slider.DrawBuffer()

frame.Show()

app.MainLoop()

我做错了什么? PyColouSlider是正确的方法还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

我找到的东西不是我自己问题的最终答案,但它帮助了我。 from wx.lib.colourchooser.文件夹包含许多部件,当放在一起时,允许用户创建整个颜色选择器。甚至还有一个完整的颜色选择器的实现,可以嵌入窗口/框架/任何。它被称为pycolourchooser