写一段代码 基于pyqt5 创建一个操场标题和一个画布 创建一个二教标题和一个画布 运行按钮能直接在两个画布内同时显示并运行不同的本地py文件
时间: 2024-04-29 12:21:53 浏览: 133
pyqt5_python_Gui入门教程.docx )
5星 · 资源好评率100%
以下是一个基于PyQt5创建操场和二教标题和画布的示例代码,并添加了一个运行按钮,该按钮可以同时在两个画布中显示并运行不同的本地Python文件。
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QTextEdit, QFileDialog
from PyQt5.QtGui import QIcon, QPixmap
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置窗口标题
self.setWindowTitle('操场和二教画布')
# 设置窗口大小
self.setGeometry(300, 300, 800, 600)
# 创建操场标题和画布
playground_label = QLabel('操场', self)
playground_label.move(50, 50)
self.playground_canvas = QTextEdit(self)
self.playground_canvas.setGeometry(50, 80, 350, 400)
# 创建二教标题和画布
classroom2_label = QLabel('二教', self)
classroom2_label.move(450, 50)
self.classroom2_canvas = QTextEdit(self)
self.classroom2_canvas.setGeometry(450, 80, 350, 400)
# 创建运行按钮
run_button = QPushButton('运行', self)
run_button.setToolTip('点击此按钮可以同时在两个画布中显示并运行不同的本地Python文件')
run_button.move(350, 530)
run_button.clicked.connect(self.run_files)
# 显示窗口
self.show()
def run_files(self):
# 打开文件选择对话框
file_path, _ = QFileDialog.getOpenFileName(self, '选择Python文件', '', 'Python Files (*.py)')
if file_path:
# 读取文件内容
with open(file_path, 'r') as f:
code = f.read()
# 在操场画布中显示代码
self.playground_canvas.setText(code)
# 在二教画布中执行代码并显示结果
try:
exec(code, globals(), locals())
self.classroom2_canvas.setText('运行成功')
except Exception as e:
self.classroom2_canvas.setText(str(e))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在运行此代码时,您将看到一个具有两个画布和一个运行按钮的窗口。单击“运行”按钮将打开文件选择对话框,允许您选择要在两个画布中同时运行的Python文件。选择文件后,代码将显示在操场画布中,并在二教画布中执行。如果运行成功,将在二教画布中显示“运行成功”的消息。否则,将在二教画布中显示错误消息。
阅读全文