更改 tkinter 中的输入框背景颜色

2024-01-08

所以我一直在研究这个程序,但我发现很难找出问题所在。我对 tkinter 还很陌生,所以这可能很小。

我试图让程序在按下复选按钮时更改输入框的背景颜色。或者更好的是,如果我可以动态地改变它,那就更好了。

这是我目前的代码:

TodayReading = []
colour = ""
colourselection= ['green3', 'dark orange', "red3"]
count = 0

def MakeForm(root, fields):
    entries = []
    for field in fields:
        row = Frame(root)
        lab = Label(row, width=15, text=field, font=("Device",10, "bold"), anchor='center')
        ent = Entry(row)
        row.pack(side=TOP, padx=5, fill=X, pady=5)
        lab.pack(side=LEFT)
        ent.pack(side=RIGHT, expand=YES, fill=X)
        entries.append((field, ent))
    return entries

def SaveData(entries):
    import time
    for entry in entries:
        raw_data_point = entry[1].get()
        data_point = (str(raw_data_point))
        TodayReading.append(data_point)
    c.execute("CREATE TABLE IF NOT EXISTS RawData (Date TEXT, Glucose REAL, BP INTEGER, Weight INTEGER)")
    c.execute("INSERT INTO RawData (Date, Glucose, BP, Weight) VALUES (?, ?, ?, ?)", (time.strftime("%d/%m/%Y"), TodayReading[0], TodayReading[1] , TodayReading[2]))
    conn.commit()
    conn.close()

def DataCheck():
    if ((float(TodayReading[0])>=4 and (float(TodayReading[0])<=6.9))):
        colour = colourselection[count]
        NAME OF ENTRY BOX HERE.configure(bg=colour)

谢谢您的帮助。有人可能已经回答了,但就像我说的,我是 tkinter 的新手,所以如果我已经看过它,我还没有弄清楚如何实现它。


请看我下面的例子:

from tkinter import *

class App:
    def __init__(self, root):
        self.root = root
        self.var = StringVar() #creates StringVar to store contents of entry
        self.var.trace(mode="w", callback=self.command)
        #the above sets up a callback if the variable containing
        #the value of the entry gets updated
        self.entry = Entry(self.root, textvariable = self.var)
        self.entry.pack()
    def command(self, *args):
        try: #trys to update the background to the entry contents
            self.entry.config({"background": self.entry.get()})
        except: #if the above fails then it does the below
            self.entry.config({"background": "White"})

root = Tk()
App(root)
root.mainloop()

所以,上面创建了一个entry小部件和一个variable其中包含该小部件的内容。

每次variable已更新,我们致电command()这将try更新entry内容的背景颜色entry(即,红,绿,蓝)和except任何错误,如果引发异常,则将背景更新为白色。


下面是一种不使用class并使用单独的test list检查的值entry: 从 tkinter 导入 *

root = Tk()

global entry
global colour

def callback(*args):
    for i in range(len(colour)):
        if entry.get().lower() == test[i].lower():
            entry.configure({"background": colour[i]})
            break
        else:
            entry.configure({"background": "white"})


var = StringVar()
entry = Entry(root, textvariable=var)
test = ["Yes", "No", "Maybe"]
colour = ["Red", "Green", "Blue"]
var.trace(mode="w", callback=callback)

entry.pack()
root.mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 tkinter 中的输入框背景颜色 的相关文章

随机推荐

  • OnClientClick 不适用于 asp.net LinkBut​​ton

    我有一个asp netlinkbutton 其中包含OnClientClick属性 但是函数内OnClientClick永远不会被调用 它直接跳转到OnClick功能 以下是我使用 LinkBut ton 的两种方式
  • CSS3 Border-Radius 的一个边框颜色不同,正在渗色

    我有一个使用边框半径的带有圆角的流体宽度 div 以及 div 一侧颜色不同的大边框 当浏览器窗口足够小时 边框都会按其应有的方式运行 然而 当我放大窗口尺寸时 我开始看到 div 中心的颜色渗出 我想知道是否有人知道可能的解决方案 div
  • Android 以编程方式安装 apk 错误 - 包解析错误

    我在我的页面上创建一个 Edittext 以允许用户通过下载 apk 并安装来更新应用程序 我正在使用 loojp 库来处理异步任务 我的活动代码 f0textupdate setOnClickListener new View OnCli
  • 快速移动鼠标时不会触发 OnMouseOut 事件(GWT - 所有浏览器)

    我有一个代表蓝色矩形的 DIV 其中包含文本 HELLO 当用户单击它时 它的颜色更改为红色和文本 BYE 当用户将鼠标光标移出时 恢复其原始颜色和文本 这些样式在 CSS 中描述 文本由 GWT 事件控制 请参见下面的 Java 代码 问
  • Python 中具有特定方差的随机数

    在 Python 程序中 我需要生成具有特定的 用户控制的方差的正态分布随机数 我怎样才能做到这一点 Use random normalvariate http docs python org library random html ran
  • 从 Angular 前端调用 Azure AD 安全 Web API

    我目前正在开发一个 Angular 前端 它使用 MSAL 来对用户进行身份验证 该前端应调用 Web API 也托管在 Azure 中 该 API 由 Azure Active Directory 保护 虽然我轻松地设法使用 Angula
  • 如何停止 SwingWorker?

    我怎样才能阻止SwingWorker做他的工作吗 我知道有cancel 方法 但我最多能做的就是匿名创建一个新的SwingWorker这就是工作 这是供参考的代码 public void mostrarResultado final Res
  • .Net Core 3 Worker 集成测试

    对于集成测试 Asp Net Core 应用程序 我们有Web应用程序工厂 https learn microsoft com en us aspnet core test integration tests view aspnetcore
  • 使用 JNDI 获取 DNS SRV 记录

    我正在尝试使用 JNDI 从 DNS 服务器获取 SRV 记录 Hashtable
  • 哪个更好? Qt Creator 或 Visual Studio IDE [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我目前在我的 Qt 应用程序中使用 Qt Creator 1 3 我知道它使用jom for make当我们拥有多核处理器时 这一步会更好 但除
  • Twig 标签包含与函数包含

    Twig 的文档标签包括 http twig symfony com doc tags include html看起来非常相似功能包括 http twig symfony com doc functions include html 标签包
  • 如何从java中的JSON文件中删除键值对

    我想知道是否有人可以帮助我或提示我如何用 Java 编辑附加的虚拟 JSON 文件 正如您所看到的 我有一个头对象 其中包含许多遵循相同模式的值和子对象 我想知道是否有办法删除所有值为 1的键 以下是我根据许多网站使用的尝试jackson
  • 根据javascript中的文本行数更改文本区域的高度[重复]

    这个问题在这里已经有答案了 可能的重复 使用原型自动调整文本区域大小 https stackoverflow com questions 7477 autosizing textarea using prototype 如何根据用户放入文本
  • JWT 不记名令牌流程

    我想要的是 ASP NET Core 中 JWT 生成和 JWT 消耗的方法 没有 OAuth2 流程 我确实有 IdentityServerv3 与 OAuth2 配合使用 但当我拥有双方时 对于访问 API 的单个应用程序来说 这有点过
  • Slick Slider slickGoTo 方法打破轮播

    我正在开发一个新闻文章页面 该页面也有一个图像库 我在用着光滑的滑块 http kenwheeler github io slick 用于画廊上的缩略图 图库中的每张图片都有自己的网址 用于广告查看目的 不太好 但我对此无能为力 例如 ou
  • 如何在flutter中定义自定义文本主题?

    如何制作自己的文字主题风格 我只找到这样的默认文本主题 但这还不够 textTheme TextTheme body1 TextStyle body2 TextStyle button TextStyle caption TextStyle
  • Python字典和集合内存分配

    I found 这个优秀的资源 https www safaribooksonline com library view high performance python 9781449361747 ch04 html讨论 python 字典
  • 如何在 Cypress 中存储图像的 src 并将其与另一个图像进行比较?

    测试目标是确认如果用户上传新图像 则上传图像的 src 属性会发生更改 这意味着图像已更改 我尝试使用几种方法 概述如下 第一种方法 cy get img then img gt store the src const source img
  • Chrome 会混淆使用 SVG 格式的网络字体设计的文本(有时)

    Demo http jsbin com onixik 2 http jsbin com onixik 2 内容如下 如果您在 Windows 上的 Chrome 中检查该演示 它可能看起来不错 也可能不太好 我所说的 OK 是指它并不引人注
  • 更改 tkinter 中的输入框背景颜色

    所以我一直在研究这个程序 但我发现很难找出问题所在 我对 tkinter 还很陌生 所以这可能很小 我试图让程序在按下复选按钮时更改输入框的背景颜色 或者更好的是 如果我可以动态地改变它 那就更好了 这是我目前的代码 TodayReadin