在GUI上显示txt文件

时间:2020-03-09 10:14:16

标签: python tkinter

我想在GUI上显示txt文件。但是,我遇到了一些问题。

from tkinter import*
from tkinter import ttk
window=Tk()
window.title("Guild of Ceramic Arts")
def showproductsbt():
    file=open(tab2,"products.txt","r")
tab_control=ttk.Notebook(window)
tab2=ttk.Frame(tab_control)
tab_control.add(tab2,text="Order Products")
productslist=Label(tab2,text="Products list",font=("",15)).grid(column=0,row=0)
showproducts=Button(tab2,text="Show Products",font=("",10),command=showproductsbt).grid(column=2,row=0)
tab_control.pack(expand=1,fill='both')
window.mainloop()

这是代码,如果我按“显示产品”按钮,它将显示这种类型的错误。

Exception in Tkinter callback
Traceback (most recent call las`enter code here`t):
  File "C:\Program Files (x86)\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__
    return self.func(*args)
  File "D:\Yoon Nam_Python Project\Python System\Python code.py", line 97, in showproductsbt`enter code here`
    file=open(tab2,"products.txt","r")
TypeError: an integer is required (got type str)

我试图从其他资源中获得帮助,但我真的不太了解。

1 个答案:

答案 0 :(得分:1)

open方法的第一个参数是文件的名称,而不是tkinter框架,这就是错误。我不确定您要通过tab2做什么,但是您只需要删除它,然后编写file = open('products.txt', 'r')即可为您提供文件句柄,然后您就可以执行任何操作它。

您可能应该考虑使用上下文管理器:

with open('products.txt', 'r') as file:
    # Do something with the file

退出范围时,这将自动关闭文件,因此您不必为此担心。