pyqt多个按钮控制多个print输出
时间: 2023-11-14 16:39:10 浏览: 79
控制多台打印机同时工作
可以通过为每个按钮绑定不同的print输出函数来实现多个按钮控制多个print输出。下面是一个示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit, QPushButton
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Print Output Demo')
# 创建两个QTextEdit控件用于显示print输出的结果
self.text_edit1 = QTextEdit(self)
self.text_edit1.setReadOnly(True)
self.text_edit2 = QTextEdit(self)
self.text_edit2.setReadOnly(True)
# 创建两个按钮用于触发print输出
self.button_print1 = QPushButton('Print 1', self)
self.button_print1.clicked.connect(self.print_output1)
self.button_print2 = QPushButton('Print 2', self)
self.button_print2.clicked.connect(self.print_output2)
# 创建一个垂直布局,并将QTextEdit和QPushButton添加进去
vbox = QVBoxLayout(self)
vbox.addWidget(self.text_edit1)
vbox.addWidget(self.text_edit2)
vbox.addWidget(self.button_print1)
vbox.addWidget(self.button_print2)
self.setLayout(vbox)
def print_output1(self):
# 重定向标准输出到第一个QTextEdit控件
sys.stdout = self.text_edit1
# 执行print语句,输出结果将会显示在第一个QTextEdit控件中
print('Hello World 1!')
def print_output2(self):
# 重定向标准输出到第二个QTextEdit控件
sys.stdout = self.text_edit2
# 执行print语句,输出结果将会显示在第二个QTextEdit控件中
print('Hello World 2!')
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
运行上述代码后,点击不同的按钮即可在不同的QTextEdit控件中显示print输出的结果。你可以根据需要添加更多的按钮和QTextEdit控件。
阅读全文