QT QListWidget删除item和插入widget
来源:互联网 发布:win7 删除网络驱动器 编辑:程序博客网 时间:2024/05/21 17:03
main.cpp
#include <QApplication>#include <QDialog>#include <QLabel>#include <QTextCodec>#include "demo.h"int main(int argc, char* argv[]){ QApplication a(argc,argv); QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); demo *w = new demo; w->show(); return a.exec();}
demo.cpp
#include "demo.h"demo::demo(QWidget *parent) : QDialog(parent){ //添加Item QStringList strList; strList<<"Item1"<<"Item2"<<"Item3"<<"Item4"<<"Item5"; listWidget = new QListWidget; listWidget->addItems(strList); //向QListWidget中添加items //在QListWidget中添加按钮 QWidget *widget = new QWidget; QHBoxLayout *listWidgetlayout = new QHBoxLayout(widget); QLabel *label = new QLabel(tr("放入QListWidget中")); QPushButton *btn = new QPushButton(tr("QListWidget中的按钮")); listWidgetlayout->addWidget(label); listWidgetlayout->addWidget(btn); widget->setLayout(listWidgetlayout); QListWidgetItem *listitem = new QListWidgetItem; listWidget->addItem(listitem); listWidget->setItemWidget(listitem, widget); listitem->setSizeHint(QSize(0, 40)); widget->show(); //清空和删除按钮 deletebtn = new QPushButton(tr("删除")); clearbtn = new QPushButton(tr("清空")); QHBoxLayout *btnlayout = new QHBoxLayout; btnlayout->addStretch(1); btnlayout->addWidget(deletebtn); btnlayout->addStretch(1); btnlayout->addWidget(clearbtn); btnlayout->addStretch(1); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(listWidget); layout->addLayout(btnlayout); setLayout(layout); connect(listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(items())); //选中的item发生变化时执行items() connect(deletebtn, SIGNAL(clicked(bool)), this, SLOT(deleteitem())); connect(clearbtn, SIGNAL(clicked(bool)), this, SLOT(clearListWidget()));}demo::~demo(){}void demo::deleteitem(){ if(0 == listWidget->count()) //获取items数量,当QListWidget中没有item时返回 return; itemlist = listWidget->currentItem(); str = itemlist->text(); //获取当前选中item字符串 int i=0; itemlist1 = listWidget->item(i); str1 = itemlist1->text(); //获取索引为0的item字符串 while(str1 != "") //删除选中的item { itemlist1 = listWidget->item(i); str1= itemlist1->text(); if(str == str1) { listWidget->removeItemWidget(itemlist1); delete itemlist1; return; } ++i; }}void demo::clearListWidget(){ listWidget->clear(); //清空items}void demo::items(){ qDebug()<<"items()";}demo.h
#ifndef DEMO_H#define DEMO_H#include <QListWidget>#include <QLayout>#include <QDialog>#include <QPushButton>#include <QDebug>#include <QLabel>class demo : public QDialog{ Q_OBJECTpublic: explicit demo(QWidget *parent = 0); ~demo();public slots: void deleteitem(); void items(); void clearListWidget();private: QString str; QString str1; QListWidgetItem *itemlist; QListWidgetItem *itemlist1; QPushButton *deletebtn; QPushButton *clearbtn; QListWidget *listWidget;};#endif // DEMO_H
0 0
- QT QListWidget删除item和插入widget
- Qt学习之QListWidget删除Item
- Qt学习之QListWidget删除Item
- QListWidget的插入删除方法
- QListWidget的插入删除方法
- QListWidget的插入删除方法
- Qt学习之QListWidget添加Item
- 双击QListWidget中Item重命名,删除
- 【QT小贴士】删除QListWidget中的某项
- Qt:QListWidget的item上实现右键菜单
- QT中如何清空QListWidget中的所以Item
- QT 拖放QListWidget内的Item(效果类似剪切)
- Qt QListWidget
- QT中qlistwidget和qtableview用法
- Qt学习笔记-----QListWidget,QTableWidget和QTreeWidget
- QT实例:从QListWidget中删除选中的QListWidgetItem
- QT实例:从QListWidget中删除选中的QListWidgetItem
- QT实例:从QListWidget中删除选中的QListWidgetItem
- 产品:了解一下产品运营
- 对象等同性判断
- JAVA中循环的递归问题
- oj1608: 1!到n!的和
- Python Flask Web框架(一)
- QT QListWidget删除item和插入widget
- js实现冒泡排序
- linux shell脚本中$$.$0,$1等的含义
- Android动态加载Dex机制解析
- POJ2778 DNA Sequence AC自动机+矩阵快速幂
- Android-网络框架03Volley
- select下拉框
- POJ1023_The Fun Number System_模拟二进制运算
- Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器