鱼C论坛

 找回密码
 立即注册
查看: 624|回复: 6

关于tkinter界面的文本更新

[复制链接]
发表于 2020-5-16 20:49:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我是想先获取数据库checked_time字段所有的数据,然后筛选出不为空的记录并想把它在tkinter界面更新为   检查状态:已检查,可是界面没有更新,一直显示检查状态:     ,没有更新为已检查或者未检查,请问为什么?



label20 = tk.Label(mw,text = "检查 状态:",font = ("宋体",10)).place(x = 660,y =10)
def checked_status():
    global server_name
    global user_name
    global user_password
    global database_name
    global datatable_name
    global label20
    conn = pymysql.connect(server_name, user_name, user_password, database_name, charset="utf8")
    cursor = conn.cursor()
    sql = "select checked_time from " + datatable_name
    cursor.execute(sql)
    result = cursor.fetchall()
    for i in result:
       if i[0] == None:
           label20["text"] = "检查状态:未检查"
       if len(i[0]) == 0:
           label20["text"] = "检查状态:未检查"
       else:
           label20["text"] = "检查状态:已检查"

    conn.commit()
    conn.close()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-16 20:52:16 | 显示全部楼层
把text换成textvariable,然后用个StringVar试试?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 21:04:23 | 显示全部楼层
把代码发全看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-16 21:07:03 | 显示全部楼层

与这一部分有关的代码全在上面
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2020-5-16 21:41:07 | 显示全部楼层
试试这样:
var1 = StringVar()
var1.set("检查 状态:")
label20 = tk.Label(mw,textvariable=var1,font = ("宋体",10)).place(x = 660,y =10)
def checked_status():
    global server_name
    global user_name
    global user_password
    global database_name
    global datatable_name
    global label20
    conn = pymysql.connect(server_name, user_name, user_password, database_name, charset="utf8")
    cursor = conn.cursor()
    sql = "select checked_time from " + datatable_name
    cursor.execute(sql)
    result = cursor.fetchall()
    for i in result:
       if i[0] == None:
           var1.set("检查状态:未检查")
       if len(i[0]) == 0:
           var1.set("检查状态:未检查")
       else:
           var1.set("检查状态:已检查")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-16 21:56:38 | 显示全部楼层

谢谢大佬,不过还是没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-16 23:22:45 | 显示全部楼层
悠龠111 发表于 2020-5-16 21:56
谢谢大佬,不过还是没用

写了一段刷新label的测试代码,参考一下。
import tkinter as tk
on_hit = False
def test():
    global on_hit
    if on_hit == False:
        on_hit = True
        var1.set("检查状态:未检查")
    else:
        on_hit = False
        var1.set("检查状态:已检查")

mw = tk.Tk()
var1 = tk.StringVar()
var1.set("检查 状态:")
label20 = tk.Label(mw,textvariable=var1,font = ("宋体",10))
b = tk.Button(mw, text="点我", font=("宋体",10), width=10, height=1, command=test)
label20.pack()
b.pack()
mw.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 06:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表