如何在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如何设置组件在窗口中的位置,比如说一个按钮,我希望这个按钮在窗口的左边,上边………

Python,Tkinter:如何在可滚动画布上获取坐标

如何使用 tkinter 在 python 中嵌入 python 解释器框架?

python tkinter Label 图形

python tkinter 如何获取文本框中的内容?