【问题标题】:Tkinter/ttk frame sizeTkinter/ttk 帧大小
【发布时间】:2016-01-31 22:49:49
【问题描述】:

我正在尝试通过 theme_settings 设置帧大小,但它不起作用。

from Tkinter import *
from ttk import *

root = Tk()

style = Style()
style.theme_settings('default',{'TFrame':{'configure':{'width':100, 'height':100}}})

frame = Frame(root)
frame.pack()

root.mainloop()

但如果我明确设置它,那么它可以工作:

frame.configure(width=100, height=100)

为什么?

ttk.版本 = "0.3.1"

Tkinter.版本 = "$Revision: 81008 $"

附:我需要通过 .theme_settings() 方法设置这个大小,这个问题正是关于它的。

UPD:我已经检查了 Button 元素的相同行为并且它有效。框架有问题...

style = Style()
style.theme_settings('default',{'TButton':{'configure':{'width':100}}})

button = Button(root)
button.pack()

UPD2:与“填充”相同的故事。它适用于按钮,但不适用于框架。例如,可以通过 theme_settings 设置框架“背景”

【问题讨论】:

  • 顺便说一句:当我看到import * 我不确定你使用Tkinter.Framettk.Frame 时的天气情况
  • 我用的是ttk.Frame,顺序很重要
  • 是的,订单很重要,但不喜欢import *(和大多数程序员一样)
  • docs.python.org/2/library/ttk.html - 见 24.2.1。使用 Ttk
  • 嗯,你可以用ttk.Frame替换Frame,它不会改变任何东西

标签: python tkinter tcl tk


【解决方案1】:

答案应该是这样的:

root = tk.Tk()

宽 x 高 + x_offset + y_offset

root.geometry("500x300+250+100")

【讨论】:

    【解决方案2】:

    使用Place管理如下代码:

    root = tk.Tk() root.geometry("500x300+250+100") # 宽 x 高 + x_offset + y_offset

    【讨论】:

      猜你喜欢
      • 2011-08-27
      • 2014-07-03
      • 2016-06-29
      • 2018-12-30
      • 2012-11-07
      • 2015-04-13
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      相关资源
      最近更新 更多