鱼C论坛

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

[已解决]ttkbootstrap问题

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

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

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

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

主要代码如下:
from ttkbootstrap import *
grid_option = {"padx": 30, "pady": 10}
root = Window("SomeThing Beta", "morph")
root.geometry("1800x1000+50+50")
frame_login = Frame(root)
label_username = Label(frame_login, bootstyle="dark", text="用户名")
label_username.grid(row=0, column=0, **grid_option, columnspan=2)
entry_username = Entry(frame_login, bootstyle="info", width=30)
entry_username.grid(row=1, column=0, **grid_option, columnspan=2)
label_password = Label(frame_login, bootstyle="dark", text="密码")
label_password.grid(row=2, column=0, **grid_option, columnspan=2)
entry_password = Entry(frame_login, bootstyle="primary", width=30, show="*")
entry_password.grid(row=3, column=0, **grid_option, columnspan=2)
button_login = Button(frame_login, bootstyle="success", text="登录", width=8)
button_login["command"] = command_login
button_login.grid(row=4, column=0, **grid_option)
button_register = Button(frame_login, bootstyle="info", text="注册", width=8)
button_register["command"] = command_register
button_register.grid(row=4, column=1, **grid_option)
frame_login.place(relx=0.5, rely=0.5, anchor='center')
root.mainloop()
可是在我的电脑上显示的字太小了,我想调字体,结果Label()正常,Button()说"unkown option -font"直接给frame设置,同样错误
咋搞
最佳答案
2023-7-13 15:36:25

不用问了!我找官方文档找到方法了
from ttkbootstrap import *
grid_option = {"padx": 30, "pady": 10}
root = Window("SomeThing Beta", "morph")
root.geometry("1800x1000+50+50")
frame_login = Frame(root)
style = ttk.Style().configure('TButton', font=('微软雅黑', 20))
button_login = Button(root, text="登录", style="TButton")
button_login.grid(row=0, column=0, **grid_option)
root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

ttkbootstrap 中,可以使用 config_style() 函数来全局配置部件的样式。你可以尝试使用 config_style() 来设置 Button 的字体,如下所示:
from ttkbootstrap import *grid_option = {"padx": 30, "pady": 10}# 全局设置样式config_style(button_font=("Helvetica", 12))  # 设置按钮字体为 Helvetica 12号root = Window("This Forum 1.0 Beta", "morph")root.geometry("1800x1000+50+50")frame_login = Frame(root)label_username = Label(frame_login, bootstyle="dark", text="用户名")label_username.grid(row=0, column=0, **grid_option, columnspan=2)entry_username = Entry(frame_login, bootstyle="info", width=30)entry_username.grid(row=1, column=0, **grid_option, columnspan=2)label_password = Label(frame_login, bootstyle="dark", text="密码")label_password.grid(row=2, column=0, **grid_option, columnspan=2)entry_password = Entry(frame_login, bootstyle="primary", width=30, show="*")entry_password.grid(row=3, column=0, **grid_option, columnspan=2)button_login = Button(frame_login, bootstyle="success", text="登录", width=8)button_login["command"] = command_loginbutton_login.grid(row=4, column=0, **grid_option)button_register = Button(frame_login, bootstyle="info", text="注册", width=8)button_register["command"] = command_registerbutton_register.grid(row=4, column=1, **grid_option)frame_login.place(relx=0.5, rely=0.5, anchor='center')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"。这个问 ...
Traceback (most recent call last):
  File "e:\Python123\f_合作\main.py", line 156, in <module>
    config_style(button_font=("Helvetica", 12))
NameError: name 'config_style' is not defined
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

以下代码将设置一个很大的按钮
from ttkbootstrap import *
from tkinter import Button
grid_option = {"padx": 30, "pady": 10}
root = Window("SomeThing Beta", "morph")
root.geometry("1800x1000+50+50")
button_login = Button(root, font=("微软雅黑", 30), text="登录", width=8)
button_login.grid(row=0, column=0, **grid_option)
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 | 显示全部楼层

我翻了一下配置文件,还是没找到字体设置
USER_THEMES = {
    "litera": {
        "type": "light",
        "colors": {
            "primary": "#4582ec",
            "secondary": "#adb5bd",
            "success": "#02b875",
            "info": "#17a2b8",
            "warning": "#f0ad4e",
            "danger": "#d9534f",
            "light": "#F8F9FA",
            "dark": "#343A40",
            "bg": "#ffffff",
            "fg": "#343a40",
            "selectbg": "#adb5bd",
            "selectfg": "#ffffff",
            "border": "#bfbfbf",
            "inputfg": "#343a40",
            "inputbg": "#fff",
            "active": "#e5e5e5"
        }
    }
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

不用问了!我找官方文档找到方法了
from ttkbootstrap import *
grid_option = {"padx": 30, "pady": 10}
root = Window("SomeThing Beta", "morph")
root.geometry("1800x1000+50+50")
frame_login = Frame(root)
style = ttk.Style().configure('TButton', font=('微软雅黑', 20))
button_login = Button(root, text="登录", style="TButton")
button_login.grid(row=0, column=0, **grid_option)
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-9-22 11:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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