我在我的程序中使用editline库,用于在shell中输入用户命令。但是由于shell,程序有一个gui界面,所以我需要在单独的线程中运行editline的readline()函数,因为它会阻塞,直到按下Enter键。有没有办法在不阻塞的情况下使用readline()函数,这样我就可以避免单独的线程使用?
发布于 2010-06-14 20:12:18
为什么不让GUI线程在不同的线程中运行,并将控制台输入保留在主线程中。从命令行读取后,可以将事件推送到GUI线程。在我看来,这要简单得多。
当然,如果您的GUI允许您在不同于主线程的线程中运行它,那么这是可行的。
后来编辑:,难道你不能创建一个文本控件/窗口,然后从那里接受输入吗?一旦你按下Enter,它就会清除输入-就像在控制台上键入消息一样?我认为将所有内容都放在GUI中要简单得多
https://stackoverflow.com/questions/3036839
复制相似问题