【问题标题】:Tkinter: set column width and font size for all labels?Tkinter:为所有标签设置列宽和字体大小?
【发布时间】:2020-06-19 10:26:04
【问题描述】:

刚刚开始处理一些GUI。我是tkinter 的新手。

我可以使用.config 为各个标签设置label 的宽度和字体大小。

我想将此设置为特定列的默认值。

我试过了:

Label.config(width=70, font=('Courier',15))

但不断出错:

Traceback(最近一次调用最后一次): 文件“/usr/local/lib/python3.6/dist-packages/IPython/core/interactiveshell.py”,第 3331 行,在 run_code 执行(code_obj,self.user_global_ns,self.user_ns) 文件“”,第 8 行,在 Label.config(width=70, font=('Courier',15)) 类型错误:configure() 缺少 1 个必需的位置参数:'self'

这样做的正确方法是什么?

完整代码:

from tkinter import *
from tkinter import ttk

reasons_window = Tk()
ttk.Style.configure('TLabel',width=70,font=('Courier',15))
reasons_window.geometry("500x200")

# Create rows for the reasons to be entered.
label1 = ttk.Label(reasons_window, text="Qty")
label1.grid(row=0,column=0)

# for field in fields
e1 = Entry(reasons_window)
e1.grid(row=0,column=1)
def eval_click():
    if int(e1.get()) == 100:
        print('GO AHEAD')

eval_button = Button(reasons_window, text="Evaluate", command=eval_click)
eval_button.grid(row=3, column=0)


reasons_window.mainloop()

【问题讨论】:

标签: python tkinter


【解决方案1】:

您可以使用ttk 子模块来做到这一点。改编自ttk docs

from tkinter import ttk
import tkinter

root = tkinter.Tk()

ttk.Style().configure('TLabel', width=70, font=('Courier',15))

btn = ttk.Label(text="Sample")
btn.pack()

root.mainloop()

【讨论】:

  • 出现此错误:TypeError: configure() missing 1 required positional argument: 'style'
  • 糟糕,现在应该修复
  • 谢谢。你的例子有效。但是当我尝试在我的代码中执行此操作时,它会引发相同的错误。使用完整代码更新问题,请查看。 TIA
  • Style 后面的括号少了,必须先创建类的实例才能调用方法
猜你喜欢
  • 1970-01-01
  • 2019-01-15
  • 1970-01-01
  • 2017-02-24
  • 1970-01-01
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2011-11-09
相关资源
最近更新 更多