这段需求涉及到了 GUI 开发和文件读写操作,下面是一个示例代码,请注意这仅是一个示例,需要根据自己的需求进行修改和完善。
```python import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import *
class MainWindow(QMainWindow): def init(self): super().init() self.setWindowTitle("问答系统") self.setGeometry(100, 100, 600, 400)
self.tab_widget =QTabWidget()
self.setCentralWidget(self.tab_widget)
self.tab1 = QWidget()
self.tab_widget.addTab(self.tab1, "文字提问")
self.tab2 = QWidget()
self.tab_widget.addTab(self.tab2, "文件提问")
self.tab3 = QWidget()
self.tab_widget.addTab(self.tab3, "设置")
self.create_tab1()
self.create_tab2()
self.create_tab3()
def create_tab1(self):
# 创建 tab1 中的元素
self.question_input = QLineEdit()
self.answer_output = QTextEdit()
self.submit_button = QPushButton("提交问题")
self.author_label = QLabel("作者:xxx")
# 信号与槽
self.submit_button.clicked.connect(self.on_submit_button_clicked)
# 布局
layout = QVBoxLayout()
layout.addWidget(QLabel("问题输入"))
layout.addWidget(self.question_input)
layout.addWidget(QLabel("答案输出"))
layout.addWidget(self.answer_output)
layout.addWidget(self.submit_button)
layout.addWidget(self.author_label)
self.tab1.setLayout(layout)
def create_tab2(self):
# 创建 tab2 中的元素
self.file_select_button = QPushButton("选择问题文件")
self.file_path_label = QLabel()
self.submit_button = QPushButton("提交问题")
self.answer_output = QTextEdit()
self.save_button = Q