好的控制台输入

时间:2014-03-21 18:02:32

标签: python

我正在编写一个Chatserver / -client来学习Python。 现在我想让控制台输入更好一些,但我不知道怎么做......

每次我从套接字收到消息时,我都会在监听线程中print()。 但是,已输入input()的文本已打印在打印的消息上,光标位于底部。

我能做些什么,就像在Minecraft-Server中一样,所以已输入的文字会移到底部? 如果有人可以提供帮助,那就太好了。)

1 个答案:

答案 0 :(得分:1)

您无法通过控制台获得该级别的控制,但您可以使用python的默认tkinter来创建简单的UI。下面是一个例子(Python 3),我在几分钟内掀起了。您可以输入消息,按发送,它们将显示在上面的框中。

from tkinter import *
from tkinter import ttk

def send(view, entry):
    view.insert('1.0', entry.get() + "\n")

root = Tk()

msgview = Text(root, width=100, height=20)
msgview.grid(sticky=(N,E,S,W))

mymessage = StringVar(value="type here...")

msginput = Entry(root, textvariable=mymessage)
msginput.grid(sticky=(E,W))

sendbutton = ttk.Button(root, text="send",\
                        command=lambda: send(msgview, msginput))
sendbutton.grid()

root.mainloop()

我建议查看tkdocs tutorial上的here,因为它更清晰,更容易理解,在我看来更彻底。新墨西哥州技术学院也为tkinter {{3}}

提供了很好的参考