Qt:13.多元素控件(QLinstWidget-用于显示项目列表的窗口部件、QTableWidget- 用于显示二维数据表)

目录

一、QLinstWidget-用于显示项目列表的窗口部件:

1.1QLinstWidget介绍:

1.2属性介绍:

1.3常用方法介绍:

 1.4信号介绍:

1.5实例演示:

二、QTableWidget- 用于显示二维数据表:

2.1QTableWidget介绍:

2.2常用方法介绍:

2.3 信号介绍:


一、QLinstWidget-用于显示项目列表的窗口部件:

1.1QLinstWidget介绍:

  • QListWidget提供了一个用于显示项目列表的窗口部件。
  • QListWidget 继承自 QListView,并且使用一个简单的接口来管理列表中的项。
  • 它适合于那些需要一个列表框,但又不想使用 QListView 和 QAbstractItemModel 的复杂接口的情况。

1.2属性介绍:

count
  • 返回列表中项目的数量。
  • count()
currentItem
  • 获取当前选中的项目。
  • currentItem() const
  • setCurrentItem(QListWidgetItem *item)
currentRow
  • 获取当前选中项目的行号。如果未选中返回-1。
  • currentRow() const
  • setCurrentRow(int row)
selectionMode
  • 设置选择模式,可以是单选、多选等。
  • selectionMode() const
  • setSelectionMode(QAbstractItemView::SelectionMode mode)
item
  • 获取指定行的项目。
  • item(int row) const
itemWidget
  • 获取项目关联的窗口小部件。
  • itemWidget(QListWidgetItem *item) const
  • setItemWidget(QListWidgetItem *item, QWidget *widget)
sortingEnabled
  • 设置是否启用项目排序。
  • isSortingEnabled() const
  • setSortingEnabled(bool enable)
dropIndicatorPosition
  • 设置或获取拖放操作中的指示位置。
  • dropIndicatorPosition() const

1.3常用方法介绍:

addItem
  • 向列表中添加一个项目。
  • void addItem(const QString &label)
  • void addItem(QListWidgetItem *item)
currentItem
  • 获取/设置当前选中的项目。
  • void currentItem()
  • setCurrentItem(QListWidgetItem *item)
insertItem
  • 在指定行插入一个项目。
  • void insertItem(int row, const QString &label)
  • void insertItem(int row, QListWidgetItem *item)
item
  • 获取指定行的项目。
  • item(int row) const
sortItems
  • 对列表中的项目进行排序。
  • void sortItems(Qt::SortOrder order = Qt::AscendingOrder)
clear
  • 移除列表中的所有项目。
  • clear();
takeItem
  • 从列表中移除指定行的项目并返回该项目。
  • QListWidgetItem* takeItem(int row)

 1.4信号介绍:

currentItemChanged当前选中项目发生变化时发出此信号。
itemActivated用户激活项目(例如通过双击或按 Enter 键)时发出此信号。
itemChanged项目内容发生变化时发出此信号。
itemDoubleClicked用户双击项目时发出此信号。
itemEntered鼠标指针进入项目时发出此信号。
itemClicked用户单击项目时发出此信号。
currentRowChanged当前选中的行发生变化时发出此信号。参数是新的当前选中行的行号。

1.5实例演示:

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}//展示当前选中项,如果选中,显示当前高亮项
void Widget::on_listWidget_itemClicked(QListWidgetItem *item)
{if(item==nullptr)return;ui->label->setText("当前选中项:"+item->text());
}//添加项目,获取lineedit中的字段,添加到窗口作为新项目
void Widget::on_pushButton_clicked()
{const QString& str=ui->lineEdit->text();ui->listWidget->addItem(str);ui->lineEdit->clear();
}//删除项目,先获取选中项目的行号,然后通过行号删除项目
void Widget::on_pushButton_2_clicked()
{int num=ui->listWidget->currentRow();if(num<0)return;ui->listWidget->takeItem(num);}

 

二、QTableWidget- 用于显示二维数据表:

2.1QTableWidget介绍:

  • QTableWidget 是 Qt 提供的一个表格控件,用于显示二维数据表。
  • 它是 QTableView 的一个子类,提供了更高级的功能,允许用户直接在表格中添加、删除和编辑项。

2.2常用方法介绍:

item
  • 获取指定单元格的项目。
  • QTableWidgetItem* item(int row, int column) const
setItem
  • 设置指定单元格的项目。
  • void setItem(int row, int column, QTableWidgetItem *item)
currentItem
  • 获取当前选中的项目。
  • QTableWidgetItem* currentItem() const
currentRow
  • 获取当前选中项目的行号。
  • int currentRow() const
currentColumn
  • 获取当前选中项目的列号。
  • int currentColumn() const
row
  • 获取某个项所在的行。
  • int row(const QTableWidgetItem *item) const
column
  • 获取某个 QTableWidgetItem 所在的列。
  • int column(const QTableWidgetItem *item) const
rowCount
  • 获取表格的行数。
  • int rowCount() const
columnCount
  • 获取表格的列数。
  • int columnCount() const
insertRow
  • 在指定位置插入一行。
  • void insertRow(int row)

insertColumn

  • 在指定位置插入一列。
  • int column(const QTableWidgetItem *item) const
removeRow
  • 移除指定行。
  • void removeRow(int row)
removeColumn
  • 移除指定列。
  • void removeColumn(int column)
setHorizontalHeaderItem
  • 设置水平表头的单元格项目。
  • void setHorizontalHeaderItem(int column, QTableWidgetItem *item)
setVerticalHeaderItem
  • 设置垂直表头的单元格项目。
  • void setVerticalHeaderItem(int row, QTableWidgetItem *item)

2.3 信号介绍:

cellClicked(int row, int column)
  • 当用户单击单元格时触发。
  • row:被单击的单元格的行号。
  • column:被单击的单元格的列号。
cellDoubleClicked(int row, int column)
  • 当用户双击单元格时触发。
  • row:被双击的单元格的行号。
  • column:被双击的单元格的列号。
cellEntered(int row, int column)
  • 当鼠标进入单元格时触发。
  • row:鼠标进入的单元格的行号。
  • column:鼠标进入的单元格的列号。
currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn)
  • 当当前选中的单元格发生变化时触发。
  • currentRow:当前选中的单元格的行号。
  • currentColumn:当前选中的单元格的列号。
  • previousRow:之前选中的单元格的行号。
  • previousColumn:之前选中的单元格的列号。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/44589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv10改进 | Conv篇 | 利用YOLO-MS的MSBlock轻量化网络结构(既轻量又长点)

一、本文介绍 本文给大家带来的改进机制是利用YOLO-MS提出的一种针对于实时目标检测的MSBlock模块(其其实不能算是Conv但是其应该是一整个模块)&#xff0c;我们将其用于C2f中组合出一种新的结构&#xff0c;来替换我们网络中的模块可以达到一种轻量化的作用&#xff0c;我将其…

软航文档控件VUE示例运行及控件替换方法记录

目录 示例运行 步骤一、npm install 步骤二、npm run dev 软航文档控件替换 附 vue小白记录一下软航文档控件VUE示例的运行方法以及示例中控件的替换过程。 示例运行 在已经安装好VUE环境的电脑上&#xff0c;VUE环境部署可以参考另一篇&#xff1a;配置VUE环境过程中 …

Drools开源业务规则引擎(六)- Drools Flow中RuleFlow文件即*.rf文件介绍

文章目录 Drools开源业务规则引擎&#xff08;六&#xff09;- RuleFlow文件即*.rf文件介绍1.\<header>1.1.\<imports>a.标签格式b.属性说明c.示例代码 1.2.\<globals>a.标签格式b.属性说明c.示例代码 1.3.\<functionImports>a.标签格式b.属性说明c.示…

Open3D 计算点云FPFH特征

目录 一、概述 1.1法线估计 1.2SPFH&#xff08;Simplified Point Feature Histograms&#xff09;计算 1.3FPFH计算 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2计算数据 一、概述 FPFH&#xff08;Fast Point Feature Histogram&#xff0…

安全策略与用户认证综合实验

一、实验拓扑 二、实验需求 1,DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问. 2,生产区不允许访问互联网,办公区和游客区允许访问互联网 3,办公区设备10.0.2.10不允许访问DMz区的FTP服务器和HTTP服务器,仅能ping通10.0.3.10 4,办公区…

nginx初理解

没有ngix时&#xff0c;有两台服务器&#xff0c;供访问 1. 现在有两台服务器上同样的路径下都放了一个&#xff0c; 都能通过ip加端口访问到页面 后端项目 &#xff08;查看tomcat中的配置中的 server.xml&#xff0c;能找到项目路径&#xff09; tomacat 也都有 两个…

C++ | Leetcode C++题解之第228题汇总区间

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<string> summaryRanges(vector<int>& nums) {vector<string> ret;int i 0;int n nums.size();while (i < n) {int low i;i;while (i < n && nums[i] nums[i - 1] …

pytorch-RNN实战-正弦曲线预测

目录 1. 正弦数据生成2. 构建网络3. 训练4. 预测5. 完整代码6. 结果展示 1. 正弦数据生成 曲线如下图&#xff1a; 代码如下图&#xff1a; 50个点构成一个正弦曲线随机生成一个0~3之间的一个值&#xff08;随机的原因是防止每次都从相同的点开始&#xff0c;50个点的正弦曲…

《C++设计模式》状态模式

文章目录 一、前言二、实现一、UML类图二、实现 一、前言 状态模式理解最基本上的我觉得应该也是够用了&#xff0c;实际用的话&#xff0c;也应该用的是Boost.MSM状态机。 相关代码可以在这里&#xff0c;如有帮助给个star&#xff01;AidenYuanDev/design_patterns_in_mode…

【PTA天梯赛】L1-005 考试座位号(15分)

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法刷题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录 题目题解try1 编译错误正确题解 总结 题目 题目链接 题解 try1 编译错误 #include<bits/stdc.h> using namespace std;typedef…

sdwan是硬件还是网络协议?

SD-WAN&#xff08;Software-Defined Wide Area Network&#xff0c;软件定义广域网&#xff09;并不是一个硬件产品或单一的网络协议&#xff0c;而是结合了软件、硬件和网络技术的一种解决方案。SD-WAN的核心在于其软件定义的特性&#xff0c;它通过软件来控制和管理广域网的…

ENSP软件中DHCP的相关配置以及终端通过域名访问服务器

新建拓扑 配置路由器网关IP 设备配置命令&#xff1a;<Huawei> Huawei部分为设备名 <>代表当下所在的模式&#xff0c;不同模式下具有不同的配置权限<Huawei> 第一级模式&#xff0c;最低级模式 查看所有参数<Huawei>system-view 键入系统视图…

鸿蒙开发:每天一个小bug----鸿蒙开发路由跳转踩坑

一、前言 报错内容显示找不到页面 &#xff0c;肯定我们页面没写对呗&#xff01; 可能是这几个原因:1.main_pages.json没配置路由 {"src": ["pages/02/UserInfoClass","pages/02/AppStorageCase02"] } 2.跳转路径没写对 错误&#xff1a;…

Excel第29享:基于sum嵌套sumifs的多条件求和

1、需求描述 如下图所示&#xff0c;现要统计12.17-12.23这一周各个人员的“上班工时&#xff08;a1&#xff09;”。 下图为系统直接导出的工时数据明细样例。 2、解决思路 首先&#xff0c;确定逻辑&#xff1a;“对多个条件&#xff08;日期、人员&#xff09;进行“工时”…

形态学图像处理

1 工具 1.1 灰度腐蚀和膨胀 当平坦结构元b的原点是(x,y)时&#xff0c;它在(x,y)处对图像f的灰度腐蚀定义为&#xff0c;图像f与b重合区域中的最小值。结构元b在位置(x,y)处对图像f的腐蚀写为&#xff1a; 类似地&#xff0c;当b的反射的原点是(x,y)时&#xff0c;平坦结构元…

react学习——24redux实现求和案例(精简版)

1、目录结构 2、count/index.js import React, {Component} from "react"; //引入store,用于获取数据 import store from ../../redux/store export default class Count extends Component {state {count:store.getState()}componentDidMount() {//监测redux中的…

传言称 iPhone 16 Pro 将支持 40W 快速充电和 20W MagSafe

目前&#xff0c;iPhone 15 和 iPhone 15 Pro 机型使用合适的 USB-C 电源适配器可实现高达 27W 的峰值充电速度&#xff0c;而 Apple 和授权第三方的官方 MagSafe 充电器可以高达 15W 的功率为 iPhone 15 机型进行无线充电。所有四款 iPhone 15 机型均可使用 20W 或更高功率的电…

PHP计件工资系统小程序源码

解锁高效管理新姿势&#xff01;全面了解计件工资系统 &#x1f525; 开篇&#xff1a;为什么计件工资系统成为企业新宠&#xff1f; 在这个效率至上的时代&#xff0c;企业如何精准激励员工&#xff0c;提升生产力成为了一大挑战。计件工资系统应运而生&#xff0c;它以其公…

【小沐学Python】在线web数据可视化Python库:Bokeh

文章目录 1、简介2、安装3、测试3.1 创建折线图3.2 添加和自定义渲染器3.3 添加图例、文本和批注3.4 自定义您的绘图3.5 矢量化字形属性3.6 合并绘图3.7 显示和导出3.8 提供和筛选数据3.9 使用小部件3.10 嵌入Bokeh图表到Flask应用程序 结语 1、简介 https://bokeh.org/ https…

算法力扣刷题记录 四十【226.翻转二叉树】

前言 继续二叉树其余操作&#xff1a; 记录 四十【226.翻转二叉树】 一、题目阅读 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1]示例…