pyqt5中QListWidget
时间: 2024-03-27 21:29:00 浏览: 66
Ui_interface_pyqt5_
QListWidget是PyQt5中的控件之一,它可以用于显示一个项目列表,并且允许用户通过单击列表中的一个项目来选中它。以下是一个简单的示例程序,它演示了如何使用QListWidget:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
listWidget = QListWidget()
vbox.addWidget(listWidget)
for i in range(10):
item = 'Item %d' % i
listWidget.addItem(item)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QListWidget Example')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在该程序中,我们创建了一个QListWidget对象,然后通过循环将10个项目添加到列表中。最后,我们将QListWidget添加到QVBoxLayout中,并将其设置为应用程序的主窗口的布局。
当用户单击列表中的项目时,可以通过调用QListWidget.currentItem()方法来获取当前选中的项目。例如,以下代码演示如何在用户单击列表中的项目时将其文本打印到控制台:
```python
listWidget.currentItemChanged.connect(self.onCurrentItemChanged)
...
def onCurrentItemChanged(self, current, previous):
if current is not None:
print(current.text())
```
在这个示例中,我们使用QListWidget.currentItemChanged()信号连接了一个槽函数onCurrentItemChanged()。当用户单击列表中的项目时,该信号将被发出,并将当前选中的项目和以前选中的项目作为参数传递给槽函数。在槽函数中,我们检查当前项目是否为None,并打印其文本。
阅读全文