Отображение TXT-файла на GUI - PullRequest
0 голосов
/ 09 марта 2020

Я хочу показать текстовый файл на GUI. Тем не менее, у меня возникли некоторые проблемы.

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 Ответ

1 голос
/ 09 марта 2020

Первый аргумент метода open - это имя файла, а не фрейм tkinter, и это ошибка. Я не уверен, что вы пытаетесь сделать, передавая tab2, но вам просто нужно удалить это и написать file = open('products.txt', 'r'), который даст вам дескриптор файла, и тогда вы сможете делать с ним все, что захотите.

Возможно, вам следует рассмотреть возможность использования диспетчера контекста:

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

Это автоматически закроет файл при выходе из области действия, поэтому вам не придется об этом беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...