下面是关于PyQt5 QListWidget添加额外的滚动条的完整使用攻略。
一、QListWidget简介
QListWidget是Qt中的一个控件类,用于展示一个列表。在PyQt5中,也可以使用QListWidget来展示一个列表。
QListWidget具备以下特点:
- 展示列表形式数据;
- 提供额外的选项,如图标、文本;
- 自身不具备滚动功能,当问列表数据过多时,需要使用QScrollArea等其他控件来提供相应的滚动条。
二、添加额外滚动条
QListWidget自身不带滚动条,需要使用QScrollArea等其他控件来提供。下面简要介绍在PyQt5中如何使用QScrollArea来提供滚动条。
1. 方法一:使用QScrollArea
下面是一个QListWidget使用QScrollArea提供垂直滚动条。你可以尝试运行代码来查看具体实现。
import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QScrollArea, QWidget
from PyQt5.QtCore import Qt
class ListExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('QListWidget')
# 新建列表控件
qlist = QListWidget(self)
qlist.resize(300,120)
qlist.addItem('Item 1')
qlist.addItem('Item 2')
qlist.addItem('Item 3')
qlist.addItem('Item 4')
qlist.addItem('Item 5')
qlist.addItem('Item 6')
qlist.addItem('Item 7')
qlist.addItem('Item 8')
qlist.addItem('Item 9')
# 新建滚动条控件,将列表控件添加到滚动条中
scroll = QScrollArea(self)
scroll.setWidget(qlist)
scroll.setGeometry(30,60,300,120)
scroll.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ListExample()
sys.exit(app.exec_())
2. 方法二:直接给QListWidget添加滚动条
下面是一个使用QListWidget自带的滚动条的示例。你可以尝试运行代码来查看具体实现。
import sys
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QWidget
from PyQt5.QtCore import Qt
class ListExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('QListWidget')
# 新建列表控件
qlist = QListWidget(self)
qlist.resize(300,120)
qlist.addItem('Item 1')
qlist.addItem('Item 2')
qlist.addItem('Item 3')
qlist.addItem('Item 4')
qlist.addItem('Item 5')
qlist.addItem('Item 6')
qlist.addItem('Item 7')
qlist.addItem('Item 8')
qlist.addItem('Item 9')
# 使列表控件具备垂直滚动条
qlist.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = ListExample()
sys.exit(app.exec_())
三、总结
本文介绍了如何在PyQt5中使用QListWidget来展示列表数据,并且提供滚动条。其中,我们介绍了使用QScrollArea来提供滚动条、直接给QListWidget添加滚动条两种方法。你可以根据自己的需要任选其中的一种方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QListWidget-添加额外的滚动条 - Python技术站