首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Qt实现小功能之列表无限加载

新建一个基于窗体的Qt应用程序工程,并从QListWIdget派生出一个子类:MListWidget。为什么呢?...因为我们打算对鼠标滚轮事件作出一点点不一样的动作:当滚动条滚动的时候在主窗口的lineEdit中更新滚动条的当前位置;当滚动条滚到最底端的时候发送一个信号,以此更新ListWidget中的数据内容。...记得在UI designer中对QListWidget组件进行提升(promote)。...在Promote to...的时候填写我们派生出来的子类MListWidget。 实际效果       鼠标滚动到底部的时候,每次插入5条数据。 ?...此时在VS中却无法正常打开,并报如上错误。具体的原因不知道是什么,修复的方法如下:        对工程中的*.ui文件或*.qrc文件右键,选择“打开方式...”

3.2K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Qt QListWidget详解

    等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定的了解,而QListWidget是一个升级版本的QListView,它已经为我们建立了一个数据存储模型QListWidgetItem...insertItem(int row, QListWidgetItem *item) //在row行后添加一项item QListWidgetItem * item(int row) //在row行的项...*current, QListWidgetItem *previous) //当前项改变发出信号 void currentRowChanged(int currentRow) //当前行改变发出信号...) //点击项时发出信号 void itemDoubleClicked(QListWidgetItem *item) //双击发出信号 void itemEntered(QListWidgetItem...//改变选择项时发出信号 3.示例 ①添加标签 ui.listWidget->addItem(QString("张三")); ui.listWidget->addItem(QString("李四")

    2K20

    Qt 学习之路 2(42):QListWidget、QTreeWidget 和 QTableWidget

    当我们不需要复杂的列表时,可以选择QListWidget。QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。...如果我们继承QListWidgetItem,可以设置该参数,作为我们子类的一种区别,以便能够在QListWidget区别处理不同子类。 我们的程序的运行结果如下: ?...我们可以利用QListWidget发出的各种信号来判断是哪个列表项被选择,具体细节可以参考文档。另外,我们也可以改变列表的显示方式。...当我们不需要复杂的列表时,可以选择QListWidget。QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。...我们可以利用QListWidget发出的各种信号来判断是哪个列表项被选择,具体细节可以参考文档。另外,我们也可以改变列表的显示方式。

    3K20

    06 json数据解析和列表控件

    1.1 基本概念 当一个数据有多个时,将数据以列表的形式来显示,使用QListWidget,但是,该列表控件只负责显示,致于列表的内容是什么,它并不关心,比如:字符串,单一控件,自定义布局界面等...1.2 创建该类对象的方法 通过构造函数来实现 QListWidget *listWidget = new QListWidget(this); 在qt 设计师,直接使用,则QT设计师来创建该对象...ui->listWidget->addItem(iocnitem); 1.4 QListWidget常用的信号 参数 用途 void itemClicked(QListWidgetItem *item)...//单击条目时,控件会发送该信号 void itemDoubleClicked(QListWidgetItem *item)//双击条目时,控件会发送该信号 当用户在代码中,建立与该信号相关的槽函数时...,那么信号触发时,就会执行槽函数

    26330

    QListWidget「建议收藏」

    当我们不需要复杂的列表时,可以选择QListWidget。QListWidget中可以添加QListWidgetItem类型作为列表项,QListWidgetItem即可以有文本,也可以有图标。...上面的代码显示了三种向列表中添加列表项的方法(实际是两种,后两种其实是一样的),我们的列表组件是listWidget,那么,向listWidget添加列表项可以:第一,使用下面的语句 1 new...如果我们继承QListWidgetItem,可以设置该参数,作为我们子类的一种区别,以便能够在QListWidget区别处理不同子类。...我们可以利用QListWidget发出的各种信号来判断是哪个列表项被选择,具体细节可以参考文档。另外,我们也可以改变列表的显示方式。...对象 listWidget.takeItem(row) #返回row 行的所在的item 对象 可以用在 insertItem()中 listWidget.insertItem(2,item) #在第二行插入一项

    1.4K20

    PySide——Python图形化界面入门教程(五)

    item = QListWidgetItem() list.addItem(item) 更复杂的QListWidget项目 或者,它还可以直接使用list参数来创建,这样他会自动的被添加到list。...最重要的是currentItemChanged信号,它是当用户改变选择的项目时发出;它连接的槽接收两个参数,current和previous,表示现在和之前选择的QListWidgetItem项。...同样它也有对应的信号,当用户单击、双击、激活或按下一个项、改变选择的项目集时。...因为这里的项非常简单,足以用QListWidgetItem来创建,我们将从QListWidget继承。 第一步,我们需要知道安装的版本都支持什么类型的图片,这样我们的列表控件才能辨别什么是合法的图片。...每一个文件名,我们创建一个以列表为其parent的QListWidgetItem,并将其文件名设置成本文,用图片创建的QIcon设置其图标。

    1.8K60

    文件浏览器?Qt也可以实现!

    Q_OBJECT public: FileBrower(QWidget *parent = 0, Qt::WFlags flags = 0); ~FileBrower(); ///在QListWidget...我自己做了两个图标,放在工程目录下,待会儿在CPP文件里可以看到如何用。 2.QListWidgetItem 这个类可以自己看一下官方文档,什么时候用,怎么用。...引用原话: The QListWidgetItem class provides an item for use with the QListWidget item view class. 03 方法实现...关键在于第一个,什么时候QLineEdit的returnPressed()信号可以发射呢?...文档里说到当返回键或者回车键被按下时,这个信号才能够被发射。后面还有一堆复杂的,我没去研读了。也就是说,当在该lineEdit里输入完成,按下回车键后,该信号会被发射,然后执行槽函数。

    1.2K20

    【QT】控件 -- 多元素类 | 容器类 | 布局类

    后续修改 Model 中的数据就会影响 QTableView 的显示,修改 QTableView 的显示也会影响到 Model 中的数据(双向绑定)。...*item, int row) 在指定的位置插入元素 item(int row) 返回 QListWidgetItem* 表示第 row 行的元素 takeItem(int row) 删除指定行的元素...itemEntered(QListWidgetItem* item) 鼠标进入元素时触发 在上述介绍中涉及到⼀个关键的类:QListWidgetItem,这个类表示 QListWidget 中的一个元素...通过结合使用 QListWidget 的属性、方法和信号,以及 QListWidgetItem 的方法,可以创建高度定制化的列表控件。...row 行处插入新行 insertColumn(int column) 在第 column 列插入新列 removeRow(int row) 删除第 row 行 removeColumn(int column

    12910

    【QT】多元素控件

    后续修改 Model 中的数据就会影响 QTableView 的显⽰; 修改 QTableView 的显⽰也会影响到 Model 中的数据(双向绑定)....不需要用户手动创建 Model 对象, 直接就可以往 QTableWidget 中添加数据了. 1. List Widget 使用 QListWidget 能够显示⼀个纵向的列表....形如: 核心属性: 核心方法: 核心信号: 在上述介绍中,涉及到⼀个关键的类,QListWidgetItem,这个类表⽰ QListWidget 中的⼀个元素,核心方法如下, 本质上就是⼀个 “⽂本+图标...(QListWidgetItem *current, QListWidgetItem *previous) { if(current && previous){...QTableWidget 核心方法: QTableWidgetItem 核心信号: QTableWidgetItem 核心方法: 代码示例:使用 QTableWidget 1)在界⾯上创建 QTableWidget

    13810

    Qt面试题(二)

    当处理器正忙于其它事件的处理时定时器仍可以立即触发 b. 当定时器触发时应用程序会发送 QtimerEvent c. 用 startTimer ( )开始一个定时器如果成功则返回 0 d....调用 addLayout ( )把这个布局插入到其他布局中 c. 没有办法 d. a 和 b 38以下关于集合类描述不正确的是 a. 它是装有多个条目的容器 b. 每个条目是某种数据结构 c....在拖动之后QDragObject 被立即删除 b. 拖放明显完成后这个 QDragObject 要被保存 c. QDragObject 可能要与其他进程通信 d....QDragObject 对象最后由 Qt 删除 50在一些简单情况下拖放的目标接收一个被拖动数据的拷贝并且由源决定 是否删除初始的拖动对象这是 QDropEvent 中的什么操作 a....提示列表框控件的类是 QListWidget。应该熟悉 QListWidget 常用的一些方 法及信号和槽。

    2.2K20

    Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇。

    Fdog系列(三):使用腾讯云短信接口发送短信,数据库写入,部署到服务器,web收尾篇。 Fdog系列(四):使用Qt框架模仿QQ实现登录界面,界面篇。...读完该篇,你将学会: 如何保存登录数据 实现是否记住密码 如何获取本地数据 登录界面中出现的下拉框 从下拉列表框删除账号 改变选项,实时显示 其中下拉框的自定义比较复杂,我看到有网友在评论区问了如何实现...文件夹,再创建以用户账号为名的文件夹,这个文件夹包括图片文件和一个文本文件,图片文件就是头像,也是以用户账号命名,文本文件命名为data,里面存放账号和密码,这里有一个格式,第一行是账号,第二行是密码,当第二行为空时...w->show(); //显示系统托盘图标 w->showicon(); } else { //该用户不存在 } } 当登录账号后...---- 如果有不了解QSignalMapper类用法的可以参考这篇:QT多个按钮信号绑定一个槽函数,执行不同业务逻辑。

    3.2K41

    Qt5 QMediaPlayer 音乐播放器

    ,把歌曲名和歌曲路径给存起来 return true; } 在main函数中先执行这个函数,创建个数据库即可。...添加歌曲: QListWidget *list = new QListWidget(this); QSqlQuery query; QStringList list=QFileDialog::getOpenFileNames...,可以在初始化的时候把数据库的歌名添加到列表中即list,把歌曲路径添加到播放列表中即playlist,但是显示的歌曲如果太多就会出现滚动条,默认的滚动条貌似不是很好看,可以用一下代码美化滚动条 QString...,QMediaPlayer有两个信号,QMediaPlayer::positionChanged和QMediaPlayer::durationChanged,分别是当前歌曲播放位置的变化,和切换歌曲时的歌曲长度...,那么就需要写两个槽来接收这两个信号了 //1.

    1.6K30

    Python Qt GUI设计:QTimer计时器类、QThread多线程类和事件处理类(基础篇—8)

    要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应的槽,并调用start()。然后,定时器会以恒定的间隔发出timeout信号。...当窗口控件收到timeout信号后,它就会停止这个定时器。这是在图形用户界面中实现复杂工作的一个典型方法,随着技术的进步,多线程在越来越多的平台上被使用,最终QTimer对象会被线程所替代。...在使用线程时可以直接得到Thread实例,调用其start()函数即可启动线程。线程启动之后,会自动调用其实现的run方法,该方法就是线程的执行函数。...更灵活的使用方法是,在自定义的QThread实例中自定义信号,并将信号连接到指定的槽函数,当满足一定的业务条件后发射此信号。...__init__() def run(self): for i in range(2000000000): pass # 循环完毕后发出信号 self.trigger.emit

    3.2K20

    PyQt5高级界面控件之QThread(十二)

    ()方法即可 在使用线程时可以直接得到Thread实例,调用其start()函数即可启动线程,线程启动之后,会自动调用其实现的run()的函数,该方法就是线程的执行函数 业务的线程任务就写在run...,在自定义的QThread实例中自定义信号,并将信号连接到指定的槽函数,当满足一定的业务条件时发射此信号 QThread类中的常用方法 方法 描述 start() 启动线程 wait() 阻止线程,...run函数之前,从相关线程发射此信号 finished 当程序完成业务逻辑时,从相关线程发射此信号 实例:QThread的使用 import sys from PyQt5.QtWidgets import...,并把返回的数据显示在界面中,首先使用以下代码进行布局,把列表控件和按钮控件放在栅格布局管理器中 #实例化列表控件与按钮控件 self.listFile = QListWidget...def run(self): #开始进行循环 for i in range(2000000000): pass # 循环完毕后发出信号

    1.2K40

    Qt 学习记录

    (Signal & Slot) 信号和槽是 Qt 的核心,它让两个互不相干的对象连接起来,当一个对象的状态改变时,可以通知另一个对象。...按值传递函数对象参数时,加上 mutable 修饰符后,可以修改按值传递进来的拷贝(注意是能修改拷贝,而不是值本身)。...你可以尝试一下记事本的打开文件,当打开文件对话框出现时,我们是不能对除此对话框之外的窗口部分进行操作的。非模态对话框,例如查找对话框,我们可以在显示着查找对话框的同时,继续对记事本的内容进行编辑。...QIODevice::Append: 以添加模式打开,新写入文件的数据添加到文件尾部。 QIODevice::Truncate: 以截取方式打开文件,文件原有的内容全部被删除。...QIODevice::Text: 以文本方式打开文件,读取时“\n”被自动翻译为换行符,写入时字符串结束符会自动翻译为系统平台的编码,如 Windows 平台下是“\r\n”。

    7.2K50
    领券