📅  最后修改于: 2023-12-03 14:45:49.203000             🧑  作者: Mango
在 PyQt5 中,QListWidget 是一个用于在窗口内显示项目列表的小部件。它可以使用单个列显示一组项目,并且可以选择一个或多个项目。QListWidget 是一个非常灵活的小部件,提供了许多方法来操作和管理项目。
本文将介绍如何使用 PyQt5 的 QListWidget 类在窗口中设置当前项。
可以使用 setCurrentRow()
方法来设置 QListWidget 中的当前项。该方法接受一个整数参数,用于指定要设置为当前项的行号。行号从 0 开始,表示 QListWidget 中的第一行。
list_widget.setCurrentRow(2)
可以使用 currentRow()
方法来获取当前项的行号。
current_row = list_widget.currentRow()
请注意,如果要清除当前项,可以使用 -1
作为参数,例如:
list_widget.setCurrentRow(-1)
下面是一个简单的 PyQt5 程序,演示如何在 QListWidget 中设置当前项:
import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QVBoxLayout, QWidget
class ListWidgetExample(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.setWindowTitle('QListWidget Example')
# 创建 QListWidget
list_widget = QListWidget()
list_widget.addItems(['Item 1', 'Item 2', 'Item 3', 'Item 4'])
# 设置当前项为第二行
list_widget.setCurrentRow(1)
# 获取当前项的行号
current_row = list_widget.currentRow()
# 将 QListWidget 添加到布局中
layout = QVBoxLayout()
layout.addWidget(list_widget)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = ListWidgetExample()
window.show()
sys.exit(app.exec_())
运行上述代码,将会打开一个窗口,并在窗口中显示一个有四个项目的 QListWidget,当前项将会被设置为第二行('Item 2')。