如何以专业的方式制作 Tkinter 音量滑块

How to make Tkinter volume slider in a professional way

我正在尝试在 python tkinter 中制作音量控制器。但问题到底是什么,我想让它看起来丰富而专业。因此,当我尝试使用 tkinter scale 小部件时,它起作用了。但是这个小部件只是一个普通的小部件。我想知道如何让它看起来像我发送的下图。

我现在的代码是这样的:

def slider(self):
        self.scale = scale = ttk.Scale(self.canvas, from_=0, to=100, orient=HORIZONTAL)
        print(self.scale.winfo_class())
        self.scale.place(x=580,y=455)
        self.scale.set(70)

有没有办法让它看起来像图片中的那个?

我想要的是:


我正在使用 pygame 在 tkinter 中播放音乐 btw.. 如果这不可能,请建议我更好的 way/alternative 来做到这一点。谢谢。

就像为TkInter 项目设置主题一样简单。在 Python 完成,看起来像这样:

s.theme_use('themename')

您可能会从阅读中受益 Styles and Themes documentation of TkDocs

据我所知,目前还没有外观完全符合您要求的小部件。但是,tkinter 提供了一种制作您自己的小部件样式的方法,这可能使您可以做您想做的事。

Tkinter 带有一个名为 ttk 的模块,代表“主题 tk”。它允许您为各个小部件定义自定义样式,并将这些样式捆绑到一个称为主题的集合中。如果您想创建具有自定义外观的小部件,可以使用此模块来实现。

不幸的是,没有很好地记录能够为小部件设计自定义主题。我个人知道的最好的文档是 tkdocs.com,在 Styles and Themes. It gives a pretty good rundown of the terminology and overall description of how themes work. The python documentation for ttk also gives some additional information about creating styles and layouts in a section titled Ttk Styling.

部分

为了获得灵感,您可以查看 ttkthemes 项目 (github, public documentation) 的代码,其中有许多您可以检查的不同主题。我怀疑是否存在与您想要的完全相同的产品,但您应该能够在查看示例后创建自己的产品。