python 如何在 gui 中包含命令行界面
How to include a command line interface in a gui in python
我目前正在 python 中构建一个控制台应用程序,它对从用户那里获得的输入进行大量计算,我已经看到几个具有 gui windows 的应用程序,但输入是仍然是从控制台得到的,这正是我想要的,我目前正在学习 tkinter,所以我想问一下是否可以在 tkinter 中执行此操作,因为我在 tkinter 上的教程没有谈论在 gui 中包含控制台这里是我的意思的屏幕截图 https://www.imageupload.co.uk/image/ZEXe 虽然在屏幕截图中,命令行只打印出程序中发生的事情,但我希望我的主应用程序位于该区域,因此我可以从用户那里获得输入,然后结果可以在 gui 上打印出来。答案还可以建议其他 python gui 框架。谢谢
Tkinter 可以根据输入的内容接受文本输入和 return 值。据我所知,没有实际的命令行输入功能。你总是可以尝试自己实施它。我认为这是非常可定制的,所以我不会自己写,但这些是你可能会用到的一些东西:
textbox = Entry(root)
textbox.pack()
textbox.config(bg="red") #this would change the background to black. fg for text color
textarea = Text(root) #this creates a big text area
#textbox.get() will return the value of the textbook
另外,您可以使用 xterm
将一个完整的终端嵌入到 tkinter
window 中(如果您的机器上没有它,您可能需要先安装它。
from tkinter import *
import os
root = Tk()
termf = Frame(root, height=500, width=500)
termf.pack(fill=BOTH, expand=YES)
wid = termf.winfo_id()
os.system('xterm -into %d -geometry 100x100 -sb &' % wid)
root.mainloop()
这会创建一个新的 tkinter
window (500 x 500) 并且他们会在其中嵌入一个 xterm
window (100 x 100)
我目前正在 python 中构建一个控制台应用程序,它对从用户那里获得的输入进行大量计算,我已经看到几个具有 gui windows 的应用程序,但输入是仍然是从控制台得到的,这正是我想要的,我目前正在学习 tkinter,所以我想问一下是否可以在 tkinter 中执行此操作,因为我在 tkinter 上的教程没有谈论在 gui 中包含控制台这里是我的意思的屏幕截图 https://www.imageupload.co.uk/image/ZEXe 虽然在屏幕截图中,命令行只打印出程序中发生的事情,但我希望我的主应用程序位于该区域,因此我可以从用户那里获得输入,然后结果可以在 gui 上打印出来。答案还可以建议其他 python gui 框架。谢谢
Tkinter 可以根据输入的内容接受文本输入和 return 值。据我所知,没有实际的命令行输入功能。你总是可以尝试自己实施它。我认为这是非常可定制的,所以我不会自己写,但这些是你可能会用到的一些东西:
textbox = Entry(root)
textbox.pack()
textbox.config(bg="red") #this would change the background to black. fg for text color
textarea = Text(root) #this creates a big text area
#textbox.get() will return the value of the textbook
另外,您可以使用 xterm
将一个完整的终端嵌入到 tkinter
window 中(如果您的机器上没有它,您可能需要先安装它。
from tkinter import *
import os
root = Tk()
termf = Frame(root, height=500, width=500)
termf.pack(fill=BOTH, expand=YES)
wid = termf.winfo_id()
os.system('xterm -into %d -geometry 100x100 -sb &' % wid)
root.mainloop()
这会创建一个新的 tkinter
window (500 x 500) 并且他们会在其中嵌入一个 xterm
window (100 x 100)