鱼C论坛

 找回密码
 立即注册
查看: 2013|回复: 4

[已解决]tkinter Label的参数问题

[复制链接]
发表于 2020-12-25 18:50:57 | 显示全部楼层 |阅读模式

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

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

x
当Label放在根窗口TK(),可以正常是设置bg参数,但是当Label组件放在Canvas上面就无法正常设置bg参数


    self.account = Entry(root)
        self.password = Entry(root)
        self.login = Button(root, text='登录', command=self.login_on)
        self.var = StringVar()
        self.error_ = Label(root, textvariable=self.var, bg='red', font=('微软雅黑', 9))  # 这里设置了bg参数.但是无法正常运行

        # 给登录'框架'添加组件对象
        self.interface_0.create_window(160, 200, width=100, height=20, window=self.account)
        self.interface_0.create_window(160, 225, width=100, height=20, window=self.password)
        self.interface_0.create_window(160, 285, width=50, height=20, window=self.login)
        self.interface_0.create_window(160, 180, width=100, height=20, window=self.error_)

以上是部分代码
报错:
Traceback (most recent call last):
  File "D:/python库/py_code/tkmod.py", line 289, in <module>
    login = Login_window(root, data, mb_data)
  File "D:/python库/py_code/tkmod.py", line 251, in __init__
    self.error_ = Label(root, textvariable=self.var, bg='red', font=('微软雅黑', 9))
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\tkinter\ttk.py", line 759, in __init__
    Widget.__init__(self, master, "ttk::label", kw)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\tkinter\ttk.py", line 557, in __init__
    tkinter.Widget.__init__(self, master, widgetname, kw=kw)
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python38-32\lib\tkinter\__init__.py", line 2567, in __init__
    self.tk.call(
_tkinter.TclError: unknown option "-bg"
最佳答案
2020-12-25 22:37:54
看错误信息,你是用了ttk.Label,就是tkinter.ttk模块,这个里面是没有bg选项的,不是在canvas还是window上面的问题。如果想用bg属性,就用tk.Label
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-25 19:43:04 | 显示全部楼层
试试 background
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-25 22:37:54 | 显示全部楼层    本楼为最佳答案   
看错误信息,你是用了ttk.Label,就是tkinter.ttk模块,这个里面是没有bg选项的,不是在canvas还是window上面的问题。如果想用bg属性,就用tk.Label
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-26 19:57:49 | 显示全部楼层
pythonsean 发表于 2020-12-25 22:37
看错误信息,你是用了ttk.Label,就是tkinter.ttk模块,这个里面是没有bg选项的,不是在canvas还是window上 ...

你的意思也就是ttk模块里面也有个叫Label的组件,然后ttk模块里面Label把tkinter 的Labeld的覆盖了,命名空间问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-26 20:22:04 | 显示全部楼层
是的,所以我一般这样
import tkinter as tk
import tkinter.ttk as ttk
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-17 00:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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