pyqt5左侧竖直列出宽度为400的两个选项卡,选择第一个选项卡,可在右侧导入文件,并将文本显示在QTextEdit空间中
时间: 2023-06-17 14:06:30 浏览: 87
可以使用QTabWidget和QTextEdit来实现这个功能。下面是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QTabWidget, QTextEdit, QFileDialog, QPushButton
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建左侧的选项卡
tabs = QTabWidget()
tab1 = QWidget()
tab2 = QWidget()
tabs.addTab(tab1, "选项卡1")
tabs.addTab(tab2, "选项卡2")
# 创建右侧的QTextEdit
text_edit = QTextEdit()
# 创建一个按钮,用于导入文件并显示在QTextEdit中
button = QPushButton("导入文件")
button.clicked.connect(lambda: self.load_file(text_edit))
# 将QTabWidget和QTextEdit放置在一个水平布局中
h_layout = QHBoxLayout()
h_layout.addWidget(tabs)
h_layout.addWidget(text_edit)
# 将按钮和水平布局放置在一个垂直布局中
v_layout = QVBoxLayout()
v_layout.addWidget(button)
v_layout.addLayout(h_layout)
self.setLayout(v_layout)
def load_file(self, text_edit):
# 弹出文件选择对话框
file_name, _ = QFileDialog.getOpenFileName(self, "选择文件", "", "Text Files (*.txt)")
# 如果用户选择了文件,则将文件内容显示在QTextEdit中
if file_name:
with open(file_name, "r") as f:
text = f.read()
text_edit.setText(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个示例中,我们创建了一个QTabWidget,其中包含两个选项卡,并将其放置在左侧。右侧是一个QTextEdit,用于显示文件内容。我们还创建了一个按钮,用于导入文件并将其内容显示在QTextEdit中。
阅读全文