Я изучаю tkinter на данный момент и пытаюсь выполнить выборочные упражнения, о которых я могу думать. Я хочу, когда я вводим такой ввод:
I've entered this
Я хочу показать их так же, но я только получаю это:
I'veenteredthis
Это фрагмент моего кода для этой части:
input = textBox.get("1.0", 'end-1c') logBox.insert(tk.END, input)
Я попытался сделать это: input = input.replace("\n", "\n")
, logBox.insert(tk.END, input+ "\n")
Пожалуйста, поймите, что я недостаточно хорошо осведомлен на Python, поскольку я все еще пытаюсь выучить язык. Заранее спасибо!
Изменение: вот полный код, просто не против других частей, поскольку я пытаюсь что-то сделать
import sys
import os
import time
import operator
import tkinter as tk
from tkinter import *
def test():
input = textBox.get("1.0", 'end-1c')
# input = input.replace("\n", "\n")
logBox.insert(tk.END, input+ "\n")
window = tk.Tk()
window.geometry("{0}x{1}+0+0".format(window.winfo_screenwidth(),
window.winfo_screenheight()))
window.title("Test")
mainFrame = Frame(window, width=8000, height=8000)
mainFrame.pack(side=TOP)
LabelText = Label(mainFrame, text="Type your text below:", anchor='center', pady=10)
LabelText.pack()
textBox = tk.Text (mainFrame, font=('averdana', 10), height=18, width=180)
textBox.pack()
BTNRun = Button(mainFrame, text="Run", height=1, width=10,
command=test)
BTNRun.pack(padx=10, pady=10)
LogText = Label(mainFrame, text="Console Log", anchor='ne', pady=10)
LogText.pack()
logBox = tk.Listbox(mainFrame, font=('averdana', 10), height=10, width=180)
logBox.pack()
BTNExit = Button(mainFrame, text="Exit", height=1, width=10, command=quit)
BTNExit.pack()
window.mainloop()'''
Не называйте переменный ввод. input
- встроенный метод python. При этом вам нужно разбить строку на разрывы строк, поэтому используйте split()
а затем введите полученный список.
Измените это:
def test():
input = textBox.get("1.0", 'end-1c')
# input = input.replace("\n", "\n")
logBox.insert(tk.END, input+ "\n")
К этому:
# had to update this function my original answer had some issues
def test():
my_input = textBox.get("1.0", 'end-1c')
x = my_input.split("\n")
for item in x:
logBox.insert(tk.END, item.strip())