qt的QListwiget设置横向的排列

[cpp]  view plain copy
  1. contentsWidget = new QListWidget();  
  2. contentsWidget->setViewMode(QListView::IconMode);  
  3. contentsWidget->setFlow(QListView::TopToBottom);//这个是关键,qt给的demo中configdialog的例子中默认是竖向的  



FROM:  http://blog.csdn.net/liuxizhen2009/article/details/46593605

基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
QListWidgetQt框架提供的用于显示列表的控件,本身并不提供翻页功能,但我们可以通过一些手段来实现翻页效果。 一种方法是通过设置QListWidget的滚动条来模拟翻页效果。具体实现步骤如下: 1. 计算每页显示的行数,和总页数; 2. 设置QListWidget的滚动条范围,每滚动一页就设置滚动条的value值; 3. 根据当前页码,更新QListWidget的显示内容。 具体实现代码如下: ```python class MyListWidget(QListWidget): def __init__(self): super().__init__() self.current_page = 1 self.page_size = 10 self.total_count = 100 self.page_count = self.total_count // self.page_size + 1 self.verticalScrollBar().valueChanged.connect(self.slot_scrollbar_changed) def slot_scrollbar_changed(self): current_value = self.verticalScrollBar().value() max_value = self.verticalScrollBar().maximum() if current_value == max_value: self.current_page += 1 self.show_page(self.current_page) def show_page(self, page): start_index = (page - 1) * self.page_size end_index = start_index + self.page_size end_index = end_index if end_index < self.total_count else self.total_count self.clear() for i in range(start_index, end_index): item = QListWidgetItem("item %s" % i) self.addItem(item) def init_data(self): self.current_page = 1 self.page_count = self.total_count // self.page_size + 1 self.verticalScrollBar().setRange(0, (self.page_count - 1) * self.page_size) self.show_page(self.current_page) ``` 在初始化QListWidget时,我们需要设置总记录数、每页显示的行数等参数,并初始化当前页码为1。在`init_data`方法中,我们根据总记录数和每页显示的行数计算总页数,然后设置滚动条的范围,最后显示第一页的内容。 在`slot_scrollbar_changed`方法中,我们监听滚动条的变化,当滚动条滚动到底部时,就将当前页码加1,然后根据当前页码更新显示内容。 最后,我们可以通过调用`init_data`方法来初始化QListWidget并显示第一页的内容。 另一种方法是通过自定义QListWidgetItem来实现翻页效果。具体实现步骤如下: 1. 自定义QListWidgetItem,添加页码属性; 2. 在QListWidget的itemClicked或itemDoubleClicked事件中获取选中的item的页码,然后更新页面内容。 具体实现代码如下: ```python class MyItem(QListWidgetItem): def __init__(self, text, page): super().__init__(text) self.page = page class MyListWidget(QListWidget): def __init__(self): super().__init__() self.page_size = 10 self.total_count = 100 self.page_count = self.total_count // self.page_size + 1 self.current_page = 1 self.init_data() def init_data(self): self.clear() for i in range(self.total_count): page = (i // self.page_size) + 1 item = MyItem("item %s" % i, page) self.addItem(item) self.show_page(self.current_page) def show_page(self, page): start_index = (page - 1) * self.page_size end_index = start_index + self.page_size end_index = end_index if end_index < self.total_count else self.total_count self.clear() for i in range(start_index, end_index): item = self.item(i) self.addItem(item) def itemClicked(self, item): self.current_page = item.page self.show_page(self.current_page) ``` 在初始化QListWidget时,我们需要设置总记录数、每页显示的行数等参数,并初始化当前页码为1。在`init_data`方法中,我们循环添加QListWidgetItem,并将当前item的页码设置为所在页码。 在`show_page`方法中,根据当前页码,更新QListWidget的显示内容。 在`itemClicked`方法中,我们获取选中的QListWidgetItem,并根据其页码更新当前页码和显示内容。 最后,我们可以通过调用`init_data`方法来初始化QListWidget并显示第一页的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值