不是 我的意思是我已经添加到了listWidget中,我想点击listWidget中已经添加好的文件来呈现在label里
时间: 2023-06-12 14:07:01 浏览: 74
一个支持listview的widget
5星 · 资源好评率100%
明白了,那么你需要在listWidget中设置一个信号槽,当用户点击其中的一个文件时,会触发该信号槽,然后在槽函数中获取该文件的路径并显示在label中。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidget, QLabel, QWidget, QVBoxLayout
from PyQt5.QtCore import Qt
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.list_widget = QListWidget()
self.list_widget.addItems(["file1.txt", "file2.txt", "file3.txt"])
self.list_widget.clicked.connect(self.on_list_widget_item_clicked)
self.label = QLabel()
self.label.setAlignment(Qt.AlignCenter)
central_widget = QWidget()
layout = QVBoxLayout()
layout.addWidget(self.list_widget)
layout.addWidget(self.label)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
def on_list_widget_item_clicked(self, item):
file_path = item.text()
with open(file_path, "r") as f:
content = f.read()
self.label.setText(content)
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们创建了一个主窗口,其中包含一个 QListWidget 和一个 QLabel。我们在 QListWidget 中添加了一些文件名作为列表项,然后连接了 clicked 信号到 on_list_widget_item_clicked 槽函数上。
当用户单击 QListWidget 的某个项时,on_list_widget_item_clicked 槽函数会被触发,并获取该项的文本内容(即文件名)。然后,我们打开该文件,读取其内容并将其设置为 QLabel 的文本。
阅读全文