tkinter在弹出窗口中显示值

时间:2018-03-16 14:49:59

标签: python python-3.x tkinter

我试图制作一些基本的GUI,但我在使用此代码时遇到了一些问题:

with open(project_dir + 'logs/wash.log') as f:
    for line in f.readlines():
        if not line.startswith('BSSID       ') and \
           not line.startswith('------------'):
            print(line)

在应用程序的这一点上,我已经在后台打开了tkinter root并且终端也打开了,我想打开一个新的tkinter窗口,其中显示上面打印的行,我想在窗口中添加一个标签对于我需要显示的每一行。

我尝试了tk.Toplevel(),但我不知道如何制作显示字符串的新窗口。

我的问题是我正在尝试创建一个新窗口并在那里打印字符串,我尝试过tk.Toplevel()但我不知道如何制作显示字符串的新窗口

1 个答案:

答案 0 :(得分:2)

来自你的评论:

  

我的问题是创建一个新窗口并在那里打印字符串,我尝试了tk.Toplevel()但我不知道如何制作显示字符串的新窗口

这是一个简单的例子,但应该有所帮助。

我在根窗口上有一个按钮,它链接到一个名为new_window()的函数。此函数将创建一个包含文本框小部件的顶级窗口。然后,我们使用with open语句将数据写入文本框。

import tkinter as tk


root = tk.Tk()

def new_window():
    top = tk.Toplevel(root)
    my_text_box = tk.Text(top)
    my_text_box.pack()
    with open(project_dir + 'logs/wash.log') as f:
        for line in f.readlines():
            if not line.startswith('BSSID       ') and \
               not line.startswith('------------'):
                my_text_box.insert("end", line)

open_new_window = tk.Button(root, text="Open Toplevel", command=new_window)
open_new_window.pack()

root.mainloop()