如何在tkinter python的TopLevel窗口上放置一个按钮?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在tkinter python的TopLevel窗口上放置一个按钮?相关的知识,希望对你有一定的参考价值。
我有两个屏幕:window(child)和root(master)我试图在方法创建的“window”屏幕上放置一个按钮:command()。我写了这段代码。
from tkinter import *
root = Tk()
def writeText():
print "hello"
def command():
window=Toplevel(root)
Button(window,text="Button2",command=writeText).grid()
Label(window,text="hello").grid()
button = Button(root, text="New Window", command=command)
button.grid()
root.mainloop()
但是这个按钮2没有出现在第二个屏幕上。同时,Label出现在此屏幕上。控件进入writeText()函数。
当我从窗口按钮屏幕中删除命令参数时,会出现按钮。
有人可以帮我这个吗?
你们有没有试过Toplevel上带图像的按钮?它似乎无法使用Toplevel下面的代码(提示窗口)。根级别没问题。
tp = Toplevel()
tp.geometry("400x400")
btnphotoAdd=PhotoImage(file="32adduser.png")
btnAdd = Button(tp, text="Add User", font="Helvetica 20 bold", image=btnphotoAdd,compound=TOP)
btnAdd.grid(row=10, column=0, sticky=W)
这是我的建议。
从你的问题,你已经把from tkinter import *
放在你的标签中,你把Python 2.7
。这是矛盾的,因为tkinter
(全部小写)用于Python 3.x和Tkinter
应该用于python 2.x.那就说先尝试修复你的导入。如果您实际上使用的是Python 3,则需要更正print语句以包含括号。 print("hello")
第二,我会尝试更密切地关注PEP8,但在这种情况下,我没有看到任何会导致这个问题的异常。
以下面的示例告诉我您是否还有同样的问题。
Python 2.x示例:
import Tkinter as tk # Upper case T in Tkinter for Python 2.x
root = tk.Tk()
def write_text():
print "hello"
def command():
window = tk.Toplevel(root)
tk.Button(window,text="Button2",command=write_text).grid()
tk.Label(window,text="hello").grid()
button = tk.Button(root, text="New Window", command=command)
button.grid()
root.mainloop()
Python 3.x示例:
import tkinter as tk # all lowercase tkinter for Python 3.x
root = tk.Tk()
def write_text():
print("hello") # Python 3.x requires brackets for print statements.
def command():
window = tk.Toplevel(root)
tk.Button(window,text="Button2",command=write_text).grid()
tk.Label(window,text="hello").grid()
button = tk.Button(root, text="New Window", command=command)
button.grid()
root.mainloop()
如果您仍然遇到问题,可以告诉我您使用的是Windows,Linux还是Mac?
以上是关于如何在tkinter python的TopLevel窗口上放置一个按钮?的主要内容,如果未能解决你的问题,请参考以下文章
python中tkinter treeview如何获取选中的条目
python tkinter如何设置组件在窗口中的位置,比如说一个按钮,我希望这个按钮在窗口的左边,上边………