当前位置: 首页 > news >正文

网站群cms长沙网动网络科技有限公司

网站群cms,长沙网动网络科技有限公司,dw网页制作教程主页子页,西安网站制作 西安彩铃400电话公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 QListWidget概述 使用场景 常见样式 QListWidget属性设置 显示方式 (Display) 交互行为 (Interaction) 高级功能 (Advanced) QListWidget常见操作 内容处理 增加项目 删除项目…
  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页

目录

QListWidget概述

使用场景

常见样式

QListWidget属性设置

显示方式 (Display)

交互行为 (Interaction)

高级功能 (Advanced)

QListWidget常见操作

内容处理

增加项目

删除项目

修改项目

查找项目

信号交互

项目选择变化

项目双击

项目右键点击


QListWidget概述

QListWidget 是一个基于 QListView 的高级控件,它内置了一个标准的模(QListWidgetItem),适合快速实现列表功能。

QListView 相比,QListWidget 更加简单易用,但在灵活性和复杂数据操作上稍显不足。

使用场景

  • 简单的文本或图标列表显示。
  • 快速开发无需复杂模型的数据列表。
  • 不需要与其他视图共享数据模型的场景。

常见样式

  1. 仅文本项目:显示简单的文本列表项。
  2. 图标和文本项目:显示带有图标的文本列表项。
  3. 自定义项目:通过 QListWidgetItem 或自定义控件实现更加复杂和个性化的列表项。

QListWidget属性设置

显示方式 (Display)

  • viewMode:设置显示模式。

    • QListView::ListMode:项目以列表形式显示(垂直排列)。
    • QListView::IconMode:项目以图标形式显示(水平排列)。
  • gridSize:设置项目布局的网格大小(适用于 IconMode)。

  • iconSize:设置项目图标的大小。

  • wordWrap:设置文本是否自动换行。

交互行为 (Interaction)

  • dragEnabled:启用拖动功能。

  • dragDropMode:设置拖放模式:

    • QAbstractItemView::NoDragDrop:禁用拖放。
    • QAbstractItemView::DragOnly:仅支持拖动。
    • QAbstractItemView::DropOnly:仅支持放置。
    • QAbstractItemView::DragDrop:支持拖动和放置。
  • defaultDropAction:设置默认拖放操作(如复制、移动等)。

  • editTriggers:设置编辑触发器(如双击、选择变化等)。

  • selectionMode:设置选择模式(单选、多选等)。

  • selectionBehavior:设置选择行为(选择项目、行或列)。

高级功能 (Advanced)

  • layoutMode:设置布局模式(SinglePass 或 Batched)。
  • flow:设置项目布局方向(从左到右或从上到下)。
  • resizeMode:设置调整模式(固定大小或自动调整)。
  • spacing:设置项目之间的间距。
  • uniformItemSizes:是否统一项目大小。
  • alternatingRowColors:是否启用交替行颜色。

QListWidget常见操作

内容处理

增加项目
void MainWindow::on_pushButton_addItem_clicked()  
{  QListWidgetItem* item = new QListWidgetItem();  item->setText(QString().asprintf("Item %d", ui->listWidget->count()));  item->setIcon(QIcon(":/icons/icon.png"));  ui->listWidget->addItem(item);  
}
删除项目
void MainWindow::on_pushButton_removeItem_clicked()  
{  QListWidgetItem* item = ui->listWidget->currentItem();  delete ui->listWidget->takeItem(ui->listWidget->row(item));  
}
修改项目
void MainWindow::on_pushButton_modifyItem_clicked()  
{  QListWidgetItem* item = ui->listWidget->currentItem();  if (item) {  item->setText("Modified Item");  }  
}
查找项目
void MainWindow::on_pushButton_findItem_clicked()  
{  QList<QListWidgetItem *> items = ui->listWidget->findItems("Search Text", Qt::MatchContains);  for (QListWidgetItem* item : items) {  item->setBackground(Qt::yellow);  // 高亮显示找到的项目  }  
}

信号交互

项目选择变化
connect(ui->listWidget, &QListWidget::itemSelectionChanged, this, [this]() {  QListWidgetItem* item = ui->listWidget->currentItem();  if (item) {  qDebug() << "Selected item ->" << item->text();  }  
});
项目双击
connect(ui->listWidget, &QListWidget::itemDoubleClicked, this, [](QListWidgetItem *item) {  qDebug() << "Item double clicked ->" << item->text();  
});
项目右键点击
    ui->listWidget->setContextMenuPolicy(Qt::CustomContextMenu);connect(ui->listWidget, &QListWidget::customContextMenuRequested, this, [this](const QPoint &pos) {QListWidgetItem* item = ui->listWidget->itemAt(pos);if (item) {QMenu contextMenu(this);QAction* editAction = contextMenu.addAction("Edit");QAction* deleteAction = contextMenu.addAction("Delete");QAction* selectedAction = contextMenu.exec(ui->listWidget->mapToGlobal(pos));if (selectedAction == editAction) {item->setText("Edited via Context Menu");} else if (selectedAction == deleteAction) {delete ui->listWidget->takeItem(ui->listWidget->row(item));}}});

http://www.hrbkazy.com/news/16079.html

相关文章:

  • php商城品牌seo如何优化
  • 一万元做网站百度推广的步骤
  • 模板建站和定制建站个人如何优化网站有哪些方法
  • 500网站建设英文seo兼职
  • 西安免费网站建设百度收录提交入口地址
  • 烟台免费做网站什么样的人适合做营销
  • 深圳哪家制作网站好seo视频教学网站
  • 南宁网站开发推广app大全
  • 专门做网站的软件网店推广方法有哪些
  • 怎么做百度网盘链接网站山西seo排名厂家
  • 长春建网站公司北京seo优化外包
  • 用那种语言做网站比较好百度快照没有了用什么代替了
  • 网站建设的对比分析杭州网站推广大全
  • 如果网站曾被挂木马自媒体平台排名前十
  • 能打开各种网站的浏览器appit培训
  • 中国联通网站备案系统如何推广品牌
  • 镇江百度送网站简单的网页设计作品
  • 郑州制作网站价格百度搜索平台
  • 做网站主播要什么条件推广手段和渠道有哪些
  • 推广广告赚佣金seo推广话术
  • 朝阳市做网站的公司网络营销seo是什么意思
  • 南昌网站建设志博友链价格
  • 邮件网站排名抖音推广方式有哪些
  • ps联盟网站怎么搞自己的网站
  • 网站通常用什么编程做合肥网站建设公司
  • 如何做b2b网站最近新闻热点国家大事
  • 做服装网站要那些照片廊坊seo网络推广
  • 整站建设和网站优化seo推广的方法
  • wordpress 企业插件北京seo排名外包
  • 几何印花图案设计网站什么是网络营销?