基于tkinter的程序中彩色滚动条的其他选项?

时间:2017-05-07 20:47:55

标签: python tkinter themes scrollbar

因此,经过几个小时或阅读帖子并查看tkinter的文档后,我发现在Windows机器上,由于滚动条直接从Windows获取其主题,tkinter滚动条的颜色选项将无法工作。我的问题是默认主题的颜色真的与我的程序冲突,我试图找到一个解决方案,不涉及导入不同的GUI包,如PyQt(我不能在工作中访问pip,所以这是获得新包装的问题)

除了使用单独的软件包之外,任何人都可以向我指出一些关于如何编写自己的侧边栏以滚动文本小部件的文档。到目前为止,我发现的所有内容都接近我想要做的就是回答这个问题。 (Changing the apperance of a scrollbar in tkinter using ttk styles

从我可以看到的示例只是更改滚动条的背景,并且我仍然无法使用该示例。我在用于配置样式的其中一行上出现错误。

    style.configure("My.Horizontal.TScrollbar", *style.configure("Horizontal.TScrollbar"))
TypeError: configure() argument after * must be an iterable, not NoneType

不确定如何处理此错误,因为我只是关注用户示例,我不确定为什么它适用于他们但不适合我。

到目前为止我尝试的是:

我如何创建我的文本框和滚动条。

root.text = Text(root, undo = True)
root.text.grid(row = 0, column = 1, columnspan = 1, rowspan = 1, padx =(5,5), pady =(5,5), sticky = W+E+N+S)
root.text.config(bg = pyFrameColor, fg = "white", font=('times', 16))
root.text.config(wrap=NONE)
vScrollBar = tkinter.Scrollbar(root, command=root.text.yview)
hScrollBar = tkinter.Scrollbar(root, orient = HORIZONTAL, command=root.text.xview)
vScrollBar.grid(row = 0, column = 2, columnspan = 1, rowspan = 1, padx =1, pady =1, sticky = E+N+S)
hScrollBar.grid(row = 1 , column = 1, columnspan = 1, rowspan = 1, padx =1, pady =1, sticky = S+W+E)
root.text['yscrollcommand'] = vScrollBar.set
root.text['xscrollcommand'] = hScrollBar.set

遵循文档here我在下面的尝试似乎没有在Windows机器上执行任何操作。正如我在其他帖子上看到的,这与滚动条本身从windows获取其主题有关。

vScrollBar.config(bg = mainBGcolor)
vScrollBar['activebackground'] = mainBGcolor
hScrollBar.config(bg = mainBGcolor)
hScrollBar['activebackground'] = mainBGcolor

我想这一切归结为:

是否可以创建自己的侧边栏(我可以根据主题更改颜色)而无需导入其他python包?如果是这样,我应该从哪里开始,或者有人可以将我链接到文档,因为我的搜索总是接近我以回到Tkinter scrollbar信息。由于这些config()选项适用于Linux,因此它们不适用于Windows。

0 个答案:

没有答案