使用python 做一个美观的软件界面,有两个输入框(输入框一个绑定入参path,一个绑定入参path_name) 、运行按钮(运行按钮绑定执行一个python.py程序)以及一个输出呈现框(每一次输出刷新呈现框,呈现程序运行完毕)
时间: 2024-01-28 16:03:04 浏览: 64
好的,这是一个比较典型的GUI界面的需求,可以使用Python的Tkinter库来实现。以下是一个简单的实现代码:
```python
import tkinter as tk
import subprocess
class App:
def __init__(self, master):
self.master = master
master.title("软件界面")
# 输入框1
self.path_label = tk.Label(master, text="输入路径:")
self.path_label.pack()
self.path_entry = tk.Entry(master)
self.path_entry.pack()
# 输入框2
self.path_name_label = tk.Label(master, text="输入路径名:")
self.path_name_label.pack()
self.path_name_entry = tk.Entry(master)
self.path_name_entry.pack()
# 运行按钮
self.run_button = tk.Button(master, text="运行", command=self.run_program)
self.run_button.pack()
# 输出呈现框
self.output_label = tk.Label(master, text="输出:")
self.output_label.pack()
self.output_text = tk.Text(master)
self.output_text.pack()
def run_program(self):
path = self.path_entry.get()
path_name = self.path_name_entry.get()
# 执行python程序
command = ["python", "your_program.py", path, path_name]
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, error = process.communicate()
# 刷新输出呈现框
self.output_text.delete("1.0", "end")
self.output_text.insert("end", output.decode("utf-8"))
self.output_text.insert("end", error.decode("utf-8"))
root = tk.Tk()
app = App(root)
root.mainloop()
```
在这个代码中,我们首先定义了一个`App`类,这个类是我们的GUI界面。在类的初始化方法中,我们定义了所有的GUI元素,包括两个输入框、一个运行按钮和一个输出呈现框。其中,输入框和输出呈现框都使用了`tkinter`库中的`Label`和`Entry`、`Text`控件来实现,运行按钮则使用了`Button`控件。
在运行按钮的回调函数`run_program`中,我们首先获取两个输入框中的路径和路径名参数,然后使用`subprocess`库来调用一个Python程序。注意,这里的Python程序路径和传入的参数需要根据实际情况进行修改。执行结果会分别输出到标准输出和标准错误输出,我们将这两个输出都显示在输出呈现框中。
最后,在主程序中我们创建了一个`Tk`对象,并将其传入`App`类中来创建GUI界面。然后通过调用`mainloop`方法来启动事件循环,使得GUI界面可以响应用户的操作。
阅读全文