歌者文明清理员 发表于 2023-7-13 14:28:12

ttkbootstrap问题

问过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 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_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()


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

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

希望这对你有帮助!如果还有其他问题,请随时提问。

歌者文明清理员 发表于 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

liuhongrun2022 发表于 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()

歌者文明清理员 发表于 2023-7-13 14:39:44

liuhongrun2022 发表于 2023-7-13 14:38
ttkbootstrap的button不能设置字体

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


我也试过呀,tkinter不支持bootstyle{:10_261:}

liuhongrun2022 发表于 2023-7-13 14:42:16

歌者文明清理员 发表于 2023-7-13 14:39
我也试过呀,tkinter不支持bootstyle

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

歌者文明清理员 发表于 2023-7-13 14:43:07

liuhongrun2022 发表于 2023-7-13 14:42
设置大小和bootstyle只能二选一,没有办法了

那么tk支持背景色吗

liuhongrun2022 发表于 2023-7-13 15:15:32

歌者文明清理员 发表于 2023-7-13 14:39
我也试过呀,tkinter不支持bootstyle

是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了

歌者文明清理员 发表于 2023-7-13 15:16:35

本帖最后由 歌者文明清理员 于 2023-7-13 15:18 编辑

liuhongrun2022 发表于 2023-7-13 15:15
是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了

https://xxx.ilovefishc.com/album/202302/16/140118p8v0u8h8j8ww50z0.jpeg

歌者文明清理员 发表于 2023-7-13 15:19:59

本帖最后由 歌者文明清理员 于 2023-7-13 15:21 编辑

liuhongrun2022 发表于 2023-7-13 15:15
是这样的,ttkbootstrap基于tkinter.ttk,所以连ttk的bug都给继承下来了

->这是梦想护卫舰

https://xxx.ilovefishc.com/album/202306/30/123658tz2h6yg3gegxoh2t.png

liuhongrun2022 发表于 2023-7-13 15:28:19

歌者文明清理员 发表于 2023-7-13 15:16


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

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"
      }
    }
}

liuhongrun2022 发表于 2023-7-13 15:36:25

歌者文明清理员 发表于 2023-7-13 15:19
->这是梦想护卫舰

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

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 17:52:54

liuhongrun2022 发表于 2023-7-13 15:36
不用问了!我找官方文档找到方法了

已经问了

liuhongrun2022 发表于 2023-7-13 17:57:28

歌者文明清理员 发表于 2023-7-13 17:52
已经问了

我想要最佳答案qwq

liuhongrun2022 发表于 2023-7-14 08:10:16

@歌者文明清理员 好吧,没解决{:10_269:},bootstyle还是设置不了
页: [1]
查看完整版本: ttkbootstrap问题