Tkinter GUI中的控制台
你好,字节社区!
我正在使用tkinter创建一个图形用户界面,我想知道如何在图形用户界面中嵌入一个"控制台"窗口小部件。有点像Python命令行,但在图形用户界面中
提前谢谢!
# 回答1
尽管我从未这样做过,但您可以使用Tkinter.Text小部件在小部件中创建一个"命令行控制台"。
尽管我从未这样做过,但您可以使用Tkinter.Text小部件在小部件中创建一个"命令行控制台"。
# 回答2
谢谢您的建议,但您知道如何以类似列表的格式存储字符串、在打印时将字符串附加到末尾并在其中使用\n\吗?列表不起作用,因为它将显示为[...,...,...]
如有任何帮助,我们将不胜感激
谢谢您的建议,但您知道如何以类似列表的格式存储字符串、在打印时将字符串附加到末尾并在其中使用\n\吗?列表不起作用,因为它将显示为[...,...,...]
如有任何帮助,我们将不胜感激
# 回答3
我不明白你想要达到什么目的。我结合Entry小部件创建了一个Tkinter.Text示例。Entry小部件绑定到Enter键,文本小部件绑定到Insert键。
我不明白你想要达到什么目的。我结合Entry小部件创建了一个Tkinter.Text示例。Entry小部件绑定到Enter键,文本小部件绑定到Insert键。
选择 | 换行 | 行号
- import Tkinter
- from itertools import cycle
- class App(Tkinter.Tk):
- def __init__(self, textList, master=None):
- Tkinter.Tk.__init__(self, master)
- self.textiter = cycle(textList)
- self.txt = Tkinter.StringVar()
- self.rootEntry = Tkinter.Entry(self, textvariable=self.txt)
- self.rootEntry.pack()
- self.rootEntry.bind("<Return>", self.cycle_text)
- self.rootText = Tkinter.Text(self)
- self.rootText.pack()
- self.rootText.bind("<Insert>", self.insert_all)
- self.newList = []
- def cycle_text(self, arg=None):
- t = self.textiter.next()
- self.txt.set(t)
- self.rootText.insert("end", t+"\n")
- self.newList.append(self.rootText.get("end - 2 chars linestart", "end - 1 chars"))
- def insert_all(self, arg):
- self.rootText.insert("end", "".join([s.strip() for s in self.newList]))
- textList = ["Line 1", "Line 2", "Line 3"]
- root = App(textList)
- root.mainloop()
# 回答4
谢谢!这就是我想要达到的目标。
谢谢!这就是我想要达到的目标。
# 回答5
这怎么能被用作一个命令行,我只是得到了类似"对象没有属性'下一步'"的错误,不仅如此,这是否可以被用作用户输入的控制台,我想让用户写用户输入,在tk窗口而不是控制台,但在tk窗口显示控制台可以工作。
这怎么能被用作一个命令行,我只是得到了类似"对象没有属性'下一步'"的错误,不仅如此,这是否可以被用作用户输入的控制台,我想让用户写用户输入,在tk窗口而不是控制台,但在tk窗口显示控制台可以工作。
标签: python