Python Gui使用Tkinter如何准确地打印输入?

2024-09-27 21:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我现在正在探索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语言,因此我对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()```

Tags: textimportinputtkinterwindowwidthpacktk
1条回答
网友
1楼 · 发布于 2024-09-27 21:29:56

不要命名变量输入。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())

相关问题 更多 >

    热门问题