首页 > 编程问答 >tkcalendar:日期输入字段颜色

tkcalendar:日期输入字段颜色

时间:2024-07-29 14:55:16浏览次数:16  
标签:python tkinter styling tkcalendar

加载 tkinter 时,DateEntry 框的背景保持白色。我尝试了各种样式,但仍然没有运气。

# Create a custom style for DateEntry
    style = ttk.Style(root)
    style.configure("CustomDateEntry.TCombobox", fieldbackground="#FF9393", background="#FF9393")
    style.configure('CustomDateEntry.TEntry', fieldbackground="#FF9393", background="#FF9393")

    start_date_entry = DateEntry(
        booking_window,
        style="CustomDateEntry.TEntry",
        date_pattern="yyyy-mm-dd"  # Ensure the date format is correct
    )
    start_date_entry.configure(style='CustomDateEntry.TEntry')
    start_date_entry.place(
        x=824.0,
        y=242.0,
        width=152.0,
        height=22.0
    )

我尝试了各种样式,使输入框的背景变成粉红色,但没有运气。


问题在于你对 DateEntry 小部件应用样式的方式。 DateEntry 小部件实际上是一个组合框 (用于下拉日历) 和一个条目小部件 (用于日期显示)。你正在为 TCombobox TEntry 配置样式,但你需要为 DateEntry 小部件本身配置样式。

以下是如何更改 DateEntry 背景颜色的方法:

import tkinter as tk
from tkinter import ttk
from tkcalendar import DateEntry

# 创建主窗口
root = tk.Tk()
root.geometry("400x200")

# 为 DateEntry 创建自定义样式
style = ttk.Style(root)

# 配置 TCalendar 对象的样式
style.configure('CustomDateEntry.DateEntry',
                fieldbackground="#FF9393",  # 设置输入字段背景颜色
                background="#FF9393",      # 设置整体小部件背景颜色
                foreground="black"         # 设置文本颜色,如果需要
                )

# 创建 DateEntry 并应用样式
start_date_entry = DateEntry(
    root,
    style="CustomDateEntry.DateEntry",
    date_pattern="yyyy-mm-dd"
)
start_date_entry.pack(pady=20)

root.mainloop()

在这个改进的代码中:

  1. 我们使用 style.configure('CustomDateEntry.DateEntry', ...) 直接针对 DateEntry 小部件类型创建样式。
  2. 我们在 DateEntry 构造函数中使用 style="CustomDateEntry.DateEntry" 将此样式应用于我们的 start_date_entry 实例。

通过这些更改,你的 DateEntry 小部件现在应该具有你想要的粉红色背景颜色。

标签:python,tkinter,styling,tkcalendar
From: 78805709

相关文章

  • Python如何统治AI世界?一文读懂它的优势与挑战
    一、Python语言介绍1.1Python语言概述Python是一种由GuidovanRossum于1991年首次发布的高级编程语言。其设计理念强调代码的可读性和简洁性,使其成为了许多开发者的首选语言。Python的语法简洁直观,采用了缩进来定义代码块,这与其他使用花括号或关键词的编程语言不同。Python......
  • 找到一种方法将program1的输出作为python中program2的输入发送
    有人可以帮我找到一种方法将program1的输出作为python中的program2的输入发送将其保存为.csv文件不会对我有帮助,因为该程序应该尽快执行这些任务。因此我正在寻找一种方法将程序1的终端输出直接发送到程序2在Python中,可以使用子进程模块将一个程序的输出发送到另一个程......
  • 同时运行多个Python程序的最佳方法
    我有一个python程序,我想同时运行多个具有不同参数的实例。这些实例彼此之间不进行通信。在单独的终端中运行每个实例太乏味了。我考虑使用多处理模块将每个实例作为单独的进程运行,但是我希望能够随时停止和重新启动某些单独的实例,而不会中断其他正在运行的实例。是否有任何流程......
  • 替换 Python 数据框中包含值的 <
    我有一个数据框,在某些列中存在诸如“<0.5、<10、<100”等值。如果值仅包含“<”,我想将所有这些值替换为0。我该怎么做?我对Python比较陌生。尝试使用pd.DataFrame.replace()。importpandasaspd#创建示例数据框df=pd.DataFrame({'A':['<0.5','<10',15,20],......
  • 基于funasr+pyaudio实现电脑本地麦克风实时语音识别项目语音转文本python实现
    【框架地址】https://github.com/modelscope/FunASR【简单介绍】FunASR是一个功能全面的语音识别工具包,支持多种预训练模型的推理和微调,提供高精度和高效能的语音识别服务。结合PyAudio库,可以实现电脑本地麦克风实时语音识别项目。该项目首先通过PyAudio库捕获麦克风输入的......
  • 从Python中的数据框中删除不必要的数据
    所以我这里有一个dat文件,我正在使用Python来读取它。在整个文件中,有一些不必要的行,例如BEGIN等,而我真正想开始阅读的部分是从数据帧开始。因此,我想检查在Python中执行此操作的最佳方法是什么,并且只阅读数据框何时开始?谢谢!以下是使用Python从数据......
  • Python拟合曲线
    拟合曲线多项式拟合np.ployfit(x,y,deg)importmatplotlib.pyplotaspltimportnumpyasnpx=[1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8]y=[33.40,79.50,122.65,159.05,189.15,214.15,238.65,252.2,267.55,280.50,296.65,301.65,310.......
  • 12个Python数据类型转换实战演练
    文末赠免费精品编程资料~~在Python编程中,数据类型转换是处理数据时必不可少的技能。掌握如何灵活地在不同类型之间转换,能让你的代码更加高效和灵活。下面,我们将通过一系列实战演练,学习并实践12种常见的Python数据类型转换。1.整数转字符串实战案例:将年龄转换为字符串......
  • Python全套教程,小白零基础入门必备!
    Python是一种语法简单、功能强大的编程语言,它注重的是如何高效解决问题。【教程领取方式在文末!!】正是这种简单实用的特性,让Python成为近年来最热门的编程语言之一。Python具有广泛的应用场景,包括:Web开发、数据分析、机器学习、网络爬虫、人工智能、量化交易等众多领......
  • BP神经网络及其Python和MATLAB实现预测
    BP神经网络及其Python和MATLAB实现预测引言BP神经网络(BackPropagationNeuralNetwork),即反向传播神经网络,是一种通过反向传播算法进行监督学习的多层前馈网络。这种网络能够通过不断地调整和改变神经元的连接权重,达到对特定任务的学习和优化。由于其高度的灵活性和适应性......