【问题标题】:Why does "ttk.style()" adds additional styles to the Entry widget?为什么“ttk.style()”会为 Entry 小部件添加额外的样式?
【发布时间】:2020-06-06 05:23:26
【问题描述】:

所以,我的窗口上有 4 个条目小部件,我只想在最后一个条目小部件上添加一些内部左侧填充。我使用ttk.style() 这样做,它添加了所需的填充,但它也添加了一些额外的样式,如black border,一些hover 效果,然后条目小部件在选择时获得blue border
这是我的代码:

from tkinter import *
from tkinter import ttk

root = Tk()
root.configure(padx=50)

input1 = Entry(root)
input1.grid(row=1, column=0, pady=10)
input2 = Entry(root)
input2.grid(row=2, column=0, pady=10)
input3 = Entry(root)
input3.grid(row=3, column=0, pady=10)

style = ttk.Style(root)
style.configure('padded.TEntry', padding=[15, 0, 0, 0])

e = ttk.Entry(root, style='padded.TEntry')
e.grid(row=4,column=0, pady=10)

root.mainloop()

看看 4th Entry Widget 周围是如何有黑色边框的

查看选择小部件时蓝色边框的显示方式

我唯一例外的样式是宽度由于左侧填充而略有增加,但是这些其他样式是如何被触发的。

【问题讨论】:

    标签: python python-3.x tkinter tkinter-entry


    【解决方案1】:

    这是因为第四个条目是 ttk.Entry 小部件,而其他三个是 tkinter.Entry 小部件。如果您制作所有四个 ttk.Entry 小部件,您会看到它们都有额外的样式。

    尽管 tkinter 和 ttk 模块具有相同名称的小部件,但它们是完全不同的小部件,具有各自的默认设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 2018-08-31
      • 2016-02-03
      相关资源
      最近更新 更多