鱼C论坛

 找回密码
 立即注册
查看: 1307|回复: 16

[已解决]ttkbootstrap问题

[复制链接]
发表于 2023-7-13 14:28:12 | 显示全部楼层 |阅读模式

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

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

x
问过chat狗屁通了,又在那边胡说八道

主要代码如下:
  1. from ttkbootstrap import *
  2. grid_option = {"padx": 30, "pady": 10}
  3. root = Window("SomeThing Beta", "morph")
  4. root.geometry("1800x1000+50+50")
  5. frame_login = Frame(root)
  6. label_username = Label(frame_login, bootstyle="dark", text="用户名")
  7. label_username.grid(row=0, column=0, **grid_option, columnspan=2)
  8. entry_username = Entry(frame_login, bootstyle="info", width=30)
  9. entry_username.grid(row=1, column=0, **grid_option, columnspan=2)
  10. label_password = Label(frame_login, bootstyle="dark", text="密码")
  11. label_password.grid(row=2, column=0, **grid_option, columnspan=2)
  12. entry_password = Entry(frame_login, bootstyle="primary", width=30, show="*")
  13. entry_password.grid(row=3, column=0, **grid_option, columnspan=2)
  14. button_login = Button(frame_login, bootstyle="success", text="登录", width=8)
  15. button_login["command"] = command_login
  16. button_login.grid(row=4, column=0, **grid_option)
  17. button_register = Button(frame_login, bootstyle="info", text="注册", width=8)
  18. button_register["command"] = command_register
  19. button_register.grid(row=4, column=1, **grid_option)
  20. frame_login.place(relx=0.5, rely=0.5, anchor='center')
  21. root.mainloop()
复制代码

可是在我的电脑上显示的字太小了,我想调字体,结果Label()正常,Button()说"unkown option -font"直接给frame设置,同样错误
咋搞
最佳答案
2023-7-13 15:36:25

不用问了!我找官方文档找到方法了

  1. from ttkbootstrap import *
  2. grid_option = {"padx": 30, "pady": 10}
  3. root = Window("SomeThing Beta", "morph")
  4. root.geometry("1800x1000+50+50")
  5. frame_login = Frame(root)
  6. style = ttk.Style().configure('TButton', font=('微软雅黑', 20))
  7. button_login = Button(root, text="登录", style="TButton")
  8. button_login.grid(row=0, column=0, **grid_option)
  9. root.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-13 14:28:59 | 显示全部楼层
在使用 ttkbootstrap 进行字体设置时,Label 像正常工作,但 Button 报错 "unknown option -font"。这个问题可能是由于 Button 的字体设置不正确导致的。

ttkbootstrap 中,可以使用 config_style() 函数来全局配置部件的样式。你可以尝试使用 config_style() 来设置 Button 的字体,如下所示:
  1. from ttkbootstrap import *
  2. grid_option = {"padx": 30, "pady": 10}
  3. # 全局设置样式
  4. config_style(button_font=("Helvetica", 12))  # 设置按钮字体为 Helvetica 12号
  5. root = Window("This Forum 1.0 Beta", "morph")
  6. root.geometry("1800x1000+50+50")
  7. frame_login = Frame(root)
  8. label_username = Label(frame_login, bootstyle="dark", text="用户名")
  9. label_username.grid(row=0, column=0, **grid_option, columnspan=2)
  10. entry_username = Entry(frame_login, bootstyle="info", width=30)
  11. entry_username.grid(row=1, column=0, **grid_option, columnspan=2)
  12. label_password = Label(frame_login, bootstyle="dark", text="密码")
  13. label_password.grid(row=2, column=0, **grid_option, columnspan=2)
  14. entry_password = Entry(frame_login, bootstyle="primary", width=30, show="*")
  15. entry_password.grid(row=3, column=0, **grid_option, columnspan=2)
  16. button_login = Button(frame_login, bootstyle="success", text="登录", width=8)
  17. button_login["command"] = command_login
  18. button_login.grid(row=4, column=0, **grid_option)
  19. button_register = Button(frame_login, bootstyle="info", text="注册", width=8)
  20. button_register["command"] = command_register
  21. button_register.grid(row=4, column=1, **grid_option)
  22. frame_login.place(relx=0.5, rely=0.5, anchor='center')
  23. root.mainloop()
复制代码

在上述代码中,通过调用 config_style(button_font=("Helvetica", 12)),设置了全局样式,将按钮的字体设为 Helvetica 12号。

请注意,在设置全局样式之前,确保已经正确安装了 ttkbootstrap 库,并且版本符合要求。

希望这对你有帮助!如果还有其他问题,请随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-13 14:30:20 | 显示全部楼层
陶远航 发表于 2023-7-13 14:28
在使用 ttkbootstrap 进行字体设置时,Label 像正常工作,但 Button 报错 "unknown option -font"。这个问 ...
  1. Traceback (most recent call last):
  2.   File "e:\Python123\f_合作\main.py", line 156, in <module>
  3.     config_style(button_font=("Helvetica", 12))
  4. NameError: name 'config_style' is not defined
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-13 14:38:10 | 显示全部楼层
ttkbootstrap的button不能设置字体

如果想设置,可以用tkinter.Button

以下代码将设置一个很大的按钮

  1. from ttkbootstrap import *
  2. from tkinter import Button
  3. grid_option = {"padx": 30, "pady": 10}
  4. root = Window("SomeThing Beta", "morph")
  5. root.geometry("1800x1000+50+50")
  6. button_login = Button(root, font=("微软雅黑", 30), text="登录", width=8)
  7. button_login.grid(row=0, column=0, **grid_option)
  8. root.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-13 14:39:44 | 显示全部楼层
liuhongrun2022 发表于 2023-7-13 14:38
ttkbootstrap的button不能设置字体

如果想设置,可以用tkinter.Button

我也试过呀,tkinter不支持bootstyle
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-13 14:42:16 | 显示全部楼层
歌者文明清理员 发表于 2023-7-13 14:39
我也试过呀,tkinter不支持bootstyle

设置大小和bootstyle只能二选一,没有办法了

点评

正在像ttkbootstrap官方反馈……  发表于 2023-7-13 14:48
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-13 14:43:07 | 显示全部楼层
liuhongrun2022 发表于 2023-7-13 14:42
设置大小和bootstyle只能二选一,没有办法了

那么tk支持背景色吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-13 15:15:32 | 显示全部楼层
歌者文明清理员 发表于 2023-7-13 14:39
我也试过呀,tkinter不支持bootstyle

是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-13 15:16:35 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-7-13 15:18 编辑
liuhongrun2022 发表于 2023-7-13 15:15
是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了



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

使用道具 举报

 楼主| 发表于 2023-7-13 15:19:59 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-7-13 15:21 编辑
liuhongrun2022 发表于 2023-7-13 15:15
是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了


->这是梦想护卫舰


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

使用道具 举报

发表于 2023-7-13 15:28:19 | 显示全部楼层

我翻了一下配置文件,还是没找到字体设置

  1. USER_THEMES = {
  2.     "litera": {
  3.         "type": "light",
  4.         "colors": {
  5.             "primary": "#4582ec",
  6.             "secondary": "#adb5bd",
  7.             "success": "#02b875",
  8.             "info": "#17a2b8",
  9.             "warning": "#f0ad4e",
  10.             "danger": "#d9534f",
  11.             "light": "#F8F9FA",
  12.             "dark": "#343A40",
  13.             "bg": "#ffffff",
  14.             "fg": "#343a40",
  15.             "selectbg": "#adb5bd",
  16.             "selectfg": "#ffffff",
  17.             "border": "#bfbfbf",
  18.             "inputfg": "#343a40",
  19.             "inputbg": "#fff",
  20.             "active": "#e5e5e5"
  21.         }
  22.     }
  23. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-13 15:36:25 | 显示全部楼层    本楼为最佳答案   

不用问了!我找官方文档找到方法了

  1. from ttkbootstrap import *
  2. grid_option = {"padx": 30, "pady": 10}
  3. root = Window("SomeThing Beta", "morph")
  4. root.geometry("1800x1000+50+50")
  5. frame_login = Frame(root)
  6. style = ttk.Style().configure('TButton', font=('微软雅黑', 20))
  7. button_login = Button(root, text="登录", style="TButton")
  8. button_login.grid(row=0, column=0, **grid_option)
  9. root.mainloop()
复制代码

点评

你确定解决了?  发表于 2023-7-13 23:26
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-13 17:52:54 | 显示全部楼层
liuhongrun2022 发表于 2023-7-13 15:36
不用问了!我找官方文档找到方法了

已经问了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-7-13 17:57:28 | 显示全部楼层

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

使用道具 举报

发表于 2023-7-14 08:10:16 | 显示全部楼层
@歌者文明清理员 好吧,没解决,bootstyle还是设置不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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