【问题标题】:Other widgets show, but not Button?其他小部件显示,但不显示按钮?
【发布时间】:2013-12-09 14:46:25
【问题描述】:

我正在通过 Packt Pubs 的 Tkinter GUI Application Development Hotshot 中的一个示例,在 Ubuntu 13.10 上使用 python 3.3 和 tkinter 8.5。

这是我遇到问题的代码的一小部分相关部分:

import tkinter as tk

<snip>

def on_find():
    t2 = tk.Toplevel(root)
    t2.geometry('262x65+200+250')
    t2.transient(root)
    tk.Label(t2, text="Find all: ").grid(row=0, column=0, sticky='e')
    v = tk.StringVar()
    e = tk.Entry(t2, width=25, textvariable=v)
    e.grid(row=0, column=1, padx=2, pady=2, sticky='we')
    e.focus_set()
    c = tk.IntVar()
    tk.Checkbutton(t2, text='Ignore case', variable=c).grid(row=1, column=1, sticky='e', padx=2, pady=2)
    tk.Button(t2, text='Find all', underline=0, command=lambda: search_for(v.get(),     c.get(), textPad, t2, e)).grid(row=2, column=1, sticky='e+w', padx=2, pady=2)

<snip>

具体来说,我在最后一行的 Button 小部件上遇到了问题。它根本没有出现在弹出窗口中。标签、文本框、复选按钮 - 都在那里。只是不是按钮,我不确定为什么。

【问题讨论】:

  • 也许您的按钮定义有误。您是否在终端中收到错误消息(引用)?

标签: python tkinter


【解决方案1】:

你有两个错误:

  • Checkbutton 中:应该是sticky 代替ticky
  • Button: 应该是'ew''e+w'

下次在终端运行程序以获取错误消息(trackback)

【讨论】:

  • “ticky”是一个错字……但“ew”成功了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
相关资源
最近更新 更多