命令行输入/输出的GUI界面

时间:2018-03-10 16:06:24

标签: python command-line-interface

我希望有人能指出我想做的项目正确的方向。我的意图很简单,有一个允许用户输入字符串的GUI,该字符串填充到预定的命令行文本行,通过命令行运行并返回命令行屏幕上打印的内容。我一直倾向于使用Python,但我仍然不确定即使是第一部分也将完成的语法,用户将输入一个字符串,该字符串将贯穿命令行文本行。任何形式的投入将不胜感激!

2 个答案:

答案 0 :(得分:2)

这是一个使用tkinter for python

的简单GUI
try:
    import tkinter as tk        # python v3
except:
    import Tkinter as tk        # python v2

# This function is called when the submit button is clicked
def submit_callback(input_entry):
    print("User entered : " + input_entry.get())
    return None


#######################  GUI ###########################
root = tk.Tk()
root.geometry('300x150')       #Set window size

# Heading
heading = tk.Label(root, text="A simple GUI")
heading.place(x = 100, y = 0)


input_label = tk.Label(root, text="Enter some text")
input_label.place(x = 0, y = 50)

input_entry = tk.Entry(root)
input_entry.place(x = 100, y = 50)


submit_button = tk.Button(root, text = "Submit", command = lambda: submit_callback(input_entry))
submit_button.place(x = 200, y = 90)
root.mainloop()
#############################################################

答案 1 :(得分:1)

开发GUI是python初学者的一个大项目,有几种可能性。如果你想在Python中认真开发GUI应用程序,我建议你通过pyside或pyqt尝试Qt4或Qt5。您可能需要一个或多个教程,可能还需要一些问题才能获得第一个可用的GUI应用程序,但是您可以使用这些库构建任何类型的专业跨平台应用程序。

运行命令行文本是指系统命令还是python命令?如果你想运行系统命令,我建议你编写一个简短的python脚本来处理用户输入(在python命令行中)并使用子进程(from subprocess import call)将其传递给系统。

如果您已经在pyqt中完成了第一个简单的文本形式,并且处理用户输入的脚本尝试通过在命令行脚本周围包装Qt应用程序来连接它们。如果您只是寻找快速而肮脏的解决方案,那么有几个库可以支持一些易于设置的GUI框架或Web界面(在本地计算机上的浏览器中运行)。但是如果你是一个编程初学者,我强烈建议把它分成两个或三个小项目,以保持沮丧程度低;)。

编辑Python2与Python3:pyqt和pthon可用于python2和python3(作为最多但不是所有库),因此您在py2和py3之间的选择是您自己的。语法几乎相同(print()命令除外),但您安装的库仅适用于您安装它们的版本。 如果您正在使用Linux机器,则可以轻松地并行安装两个版本如果要确保调用正确的版本,则可以指定python2python3等命令,而不是运行默认值与python

Edit2处理用户输入:

from subprocess import check_output

def predefined_command(user_input):
    command = ['net', 'user', '/domain', user_input]
    answer = check_output(command, args)
    decoded = answer.decode('utf8')
    return answer
相关问题