首页 > 其他分享 >QListWidget

QListWidget

时间:2024-09-12 09:48:19浏览次数:9  
标签:QListWidget img QListWidgetItem QAction ListWidget new png

#include "widget.h"
#include <QListWidgetItem>
#include <QAction>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
  resize(300,400);
  p_ListWidget = new QListWidget(this);
  p_ListWidget->setFixedWidth(100);
  QListWidgetItem *item1 = new QListWidgetItem(QIcon(":/img/battery.png"),"battery");
  QListWidgetItem *item2 = new QListWidgetItem(QIcon(":/img/offline.png"),"offline");
  QListWidgetItem *item3 = new QListWidgetItem(QIcon(":/img/online.png"),"online");
  QListWidgetItem *item4 = new QListWidgetItem(QIcon(":/img/system.png"),"system");
  p_ListWidget->insertItem(0,item1);
  p_ListWidget->insertItem(1,item2);
  p_ListWidget->insertItem(2,item3);
  p_ListWidget->insertItem(3,item4);
  initMenu();
  p_ListWidget->setContextMenuPolicy(Qt::CustomContextMenu);
  connect(p_ListWidget, &QListWidget::customContextMenuRequested, this, &Widget::on_PopupRightMenu);
}
Widget::~Widget()
{
}
void Widget::on_PopupRightMenu(const QPoint &pos)
{
  QListWidgetItem * p_item = p_ListWidget->itemAt(pos);
  if (!p_item)
  {
    return;
  }
  p_Menu->exec(QCursor::pos());
}
//右键菜单
void Widget::initMenu(void)
{
  p_Menu = new QMenu(this);
  QAction *act1 = new QAction(QIcon(":/img/battery.png"),"测试1");
  QAction *act2 = new QAction(QIcon(":/img/offline.png"),"测试2");
  QAction *act3 = new QAction(QIcon(":/img/online.png"),"测试3");
  QAction *act4 = new QAction(QIcon(":/img/system.png"),"删除");
  p_Menu->addAction(act1);
  p_Menu->addAction(act2);
  p_Menu->addAction(act3);
  p_Menu->addAction(act4);
  connect(act4, &QAction::triggered, [=]{
    QListWidgetItem * p_Item = p_ListWidget->currentItem();
    p_ListWidget->removeItemWidget(p_Item);
    delete p_Item;
  });
}

 

标签:QListWidget,img,QListWidgetItem,QAction,ListWidget,new,png
From: https://www.cnblogs.com/linux-learn/p/18409579

相关文章

  • QListWidget实现内部拖动排序功能
    1.需求将QListWidget有很多的任务,需要拖动任务,手动进行排序,并且需要保存拖动之后的顺序,软件重新打开要是修改之后的顺序;(1)继承QListWidget,重写一个QListWidget自定义类#ifndefDROPLISTWIDGET_H#defineDROPLISTWIDGET_H#include<QListWidget>#include<QDropEvent>clas......
  • Qt QListWidget 存放自定义控件不显示问题
    问题软件功能:每点击一次新建按钮,在QListWidget新增一行自定义控件,主窗口和自定义窗口如下。主窗口:自定义窗口问题代码:Form*myform=newForm();QListWidgetItem*item=newQListWidgetItem(ui->listWidget);ui->listWidget->addItem(item);......
  • Qt的QListWidget清空内容出现段错误
    1问题描述在使用Qt中的QListWidget控件的时候想要刷新其中的内容执行清空操作的时候出现“段错误(核心已转储)”。出现这个问题的具体原因看很多人分析是因为在执行清空前QListWidget控件已经connet到槽函数,所以在clear的时候就会出现段错误,具体的原因这里也不做太多分析。2......
  • Qt - QListWidget+QListWidgetItem
    效果:文件结构:qcustomwidget.uiqcustomwidget.h(自定义条目类)#ifndefQCUSTOMWIDGET_H#defineQCUSTOMWIDGET_H#include<QWidget>namespaceUi{classQCustomWidget;}classQCustomWidget:publicQWidget//联系人类{Q_OBJECTpublic:QCustomWidget......
  • 【QT入门】 QListWidget各种常见用法详解之图标模式
    往期回顾【QT入门】Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客【QT入门】QTabWidget各种常见用法详解-CSDN博客【QT入门】QListWidget各种常见用法详解之列表模式-CSDN博客【QT入门】QListWidget各种常见用法详解之图标模式QListWidget有列表和图标两种......
  • QListWidget
    实现给QListWidget的列表项中,文字右侧加图片QListWidgetItem*item=newQListWidgetItem();声明一个QWidget,为其添加水平布局,布局中有文字,有图片:QWidget*itemWidget=newQWidget;QHBoxLayout*layout=newQHBoxLayout(itemWidget);QLabel*label=newQLabel(strfil......
  • 模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSys
    一、模型视图简介   有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的Qt要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后......
  • pyqt5-QListWidgetItem列表项组件
    1、介绍QListWidgetItem,列表项组件。QListWidgetItem(parent:typing.Optional[QListWidget]=None,type:int=QListWidgetItem.Type)QListWidgetItem(text:str,parent:typing.Optional[QListWidget]=None,type:int=QListWidgetItem.Type)QListWidgetItem(icon:......
  • pyqt5-QListWidget列表组件
    1、介绍QListWidget,列表组件2、基础使用addItem(self,aitem:QListWidgetItem)addItem(self,label:str)添加项addItems(self,labels:Iterable[str])添加多个项item(self,row:int)->QListWidgetItem获取指定索引的项insertItem(self,row:int,item:QLi......
  • QListWidget的使用、数据库获取以及排序
       QListWidget是Qt中的一个用于显示列表型数据的部件,它可以用于显示一列项目(item)的列表。每个项目通常可以包含文本、图标或其他自定义内容。创建一个QListWidget实例:在你的主窗口或其他窗口部件中创建一个QListWidget实例:QListWidget*listWidget=newQListWidget(t......