鱼C论坛

 找回密码
 立即注册
查看: 1546|回复: 13

[已解决]ttkbootstrap求助

[复制链接]
发表于 2023-7-18 17:46:09 | 显示全部楼层 |阅读模式

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

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

x
教程里有一段完整的代码:
  1. import ttkbootstrap as ttk

  2. # 传统方法
  3. root = ttk.Tk()
  4. style = ttk.Style("darkly")

  5. # 新方法
  6. root = ttk.Window(themename="darkly")
复制代码


但是我运行后报错:
  1. Traceback (most recent call last):
  2.   File "D:\Program Files\JetBrains\PycharmProjects\pythonProject1\脚本3.0.py", line 4, in <module>
  3.     root = ttk.Tk()
  4. AttributeError: module 'ttkbootstrap' has no attribute 'Tk'
复制代码


理论上来说TK函数ttk应该有的呀
@liuhongrun2022
最佳答案
2023-7-18 19:04:44
ttkbootstrap里面没有Tk,用Window就行
  1. import ttkbootstrap as ttk
  2. root = ttk.Window(themename="darkly")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-18 17:46:24 | 显示全部楼层
根据你提供的错误信息,可以看到在第4行的代码中出现了一个属性错误。错误提示是AttributeError: module 'ttkbootstrap' has no attribute 'Tk',意思是ttkbootstrap模块没有名为Tk的属性。

根据你的代码和错误信息来看,问题可能出在导入的模块上。ttkbootstrap库中确实没有名为Tk的属性,所以无法使用ttk.Tk()来创建传统的Tk窗口。

相反,根据你提到的教程和最新的ttkbootstrap库,正确的做法是使用ttk.Window来创建窗口。因此,你需要将第4行的代码修改为root = ttk.Window(themename="darkly")

修改后的代码如下所示:
  1. import ttkbootstrap as ttk
  2. # 传统方法
  3. # root = ttk.Tk()
  4. # style = ttk.Style("darkly")
  5. # 新方法
  6. root = ttk.Window(themename="darkly")
复制代码

通过这样的修改,你应该能够成功创建一个使用ttkbootstrap主题的窗口。希望对你有所帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 17:46:35 | 显示全部楼层
题目:ttkbootstrap求助

回答:

首先,我感觉需要纠正一下你对 ttkbootstrap 库的理解,它实际上是建立在 tkinter 库的基础上,提供了一种用于美化应用程序的方式。

你的错误提示是“module 'ttkbootstrap' has no attribute 'Tk'”,这说明你正在尝试在 ttkbootstrap 模块中调用不存在的 Tk 。应该是你的代码中混淆了 tkinter 和 ttkbootstrap 。实际上, Tk 方法应从 tkinter 库中调用,而不是 ttkbootstrap 库。

同时, ttkbootstrap 库中并没有 Window 和 Style 这两个方法,你应该参考 ttkbootstrap 的正确使用方式。

下面是一个改正后的代码示例:
  1. import tkinter as tk
  2. import ttkbootstrap as tbs
  3. root = tk.Tk()
  4. style = tbs.Style('darkly')  # 创建一个ttkbootstrap样式对象
  5. style.theme_use('darkly')  # 使用'darkly'主题
  6. root.mainloop()
复制代码
这段代码首先从 tkinter 库中实例化了一个Tk root窗口,然后通过 ttkbootstrap 创建了一个样式对象,并选择使用'darkly'主题。

希望这个解释能够帮到你。如果还有其他问题,欢迎继续提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-18 17:48:46 | 显示全部楼层
isdkz 发表于 2023-7-18 17:46
题目:ttkbootstrap求助

回答:

ttkbootstrap 库中有 Window这个方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 17:48:59 | 显示全部楼层
你可能有些混淆了。`Tk` 是在 `tkinter` 包中定义的,而不是在 `ttkbootstrap` 中定义的。`ttkbootstrap` 是一个为 `tkinter` 提供样式支持的包。

你的代码应该如下:

  1. from tkinter import Tk
  2. import ttkbootstrap as ttk

  3. root = Tk()
  4. style = ttk.Style(root)
  5. style.theme_use('darkly')
复制代码


在这段代码中,我们首先从 `tkinter` 导入 `Tk`,然后创建根窗口。接着,我们创建一个 `ttkbootstrap` 的 `Style` 对象,并传入我们的根窗口。最后,我们使用 `theme_use` 方法将主题设置为 "darkly"。

至于你在脚本中看到的 "新方法":


  1. root = ttk.Window(themename="darkly")
复制代码

我记得`ttkbootstrap` 库并没有 `Window` 类,你可能需要更新你的 `ttkbootstrap` 版本或者检查你的教程是否有误。

如果你无法解决这个问题,我建议你检查你的 `ttkbootstrap` 版本,并确保它是最新的。你可以使用 `pip` 来更新:

  1. pip install --upgrade ttkbootstrap
复制代码
如果更新后问题仍然存在,那么可能是你的教程有误。在这种情况下,我建议你寻找其他的 `tkinter` 和 `ttkbootstrap` 教程,或者查阅官方文档。

求最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 17:51:06 | 显示全部楼层
这个教程我也去看了,源码好像是这样的
  1. import tkinter as tk
  2. root = tk.Tk()
复制代码


                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2023-7-18 17:53:30 | 显示全部楼层
cjjJasonchen 发表于 2023-7-18 17:51
这个教程我也去看了,源码好像是这样的

????????????
https://ttkbootstrap.readthedocs ... tarted/tutorial/#_5
点击目录的“选择主题”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-18 17:55:55 | 显示全部楼层
@陶远航 @isdkz @sfqxx
你们三个的chatgpt都没理解意思,还是我自己解决的
(我压根没发对正确的问题,问的问题都是有问题的)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 17:56:53 | 显示全部楼层
学习编程中的Ben 发表于 2023-7-18 17:55
@陶远航 @isdkz @sfqxx
你们三个的chatgpt都没理解意思,还是我自己解决的
(我压根没发对正确的问题,问 ...

ttk.Window
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-18 17:59:58 | 显示全部楼层

不,这个代码压根就不完整
所以我会用random函数确定最佳给谁
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 18:00:53 | 显示全部楼层
学习编程中的Ben 发表于 2023-7-18 17:59
不,这个代码压根就不完整
所以我会用random函数确定最佳给谁
理论上来说TK函数ttk应该有的呀

错的
ttk有些没有的,比如text
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 19:04:44 | 显示全部楼层    本楼为最佳答案   
ttkbootstrap里面没有Tk,用Window就行
  1. import ttkbootstrap as ttk
  2. root = ttk.Window(themename="darkly")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 20:07:48 | 显示全部楼层
教程里有一段完整的代码:

官方文档里从来没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-18 20:25:20 | 显示全部楼层
@学习编程中的Ben 最佳给我吧,你看的哪个教程?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 17:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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