QListWidget加入小控件

在写一个简单的文件浏览器时,遇到一个问题。想实现新建目录时能像一般的文件管理器那样,目录图标以下有一个编辑框提示用户给目录命名(例如以下图),可是不知道怎么给单元项QListWidgetItem加入QLineEdit控件。查了好久Qt帮助文档,最终发现了QListWidget::setItemWidget(),就试了一下。成功加入了,还算惬意。大家假设有更好的方法请告诉我。

这里写图片描写叙述

void QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)

设置在给定项目中显示的小部件。


此功能仅可用于在列表小部件项目的位置显示静态内容。假设你想显示自己定义的动态内容或运行自己定义编辑器部件,使用qlistview和子类化QItemDelegate取代。
这个功能介绍Qt 4.1。

关键代码:

//图片换成目录图标就能够
int main(int argc,char* argv[])
{
    QApplication  app(argc,argv);

    QListWidget  *listWidget = new QListWidget();
    listWidget->setSpacing(10);
    listWidget->setViewMode(QListView::IconMode);
    listWidget->setIconSize(QSize(100,100));
    QPixmap pix1(QString(":/list/image/1.jpg"));
    QPixmap pix2(":/list/image/2.jpg");
    QListWidgetItem *item1 = new QListWidgetItem(QIcon(pix1.scaled(QSize(100,100))),"picture1");
    QListWidgetItem *item2 = new QListWidgetItem(QIcon(pix2.scaled(QSize(100,100))),"picture2");

    QLineEdit*   line = new QLineEdit; //创建部件


    listWidget->addItem(item1);
    listWidget->addItem(item2);  //先加入项目   
    item1->setSizeHint(QSize(100,120));
    item2->setSizeHint(QSize(100,120));

    listWidget->setItemWidget(item2,line); //加入部件
//  listWidget->removeItemWidget(item2);
    listWidget->show();
    app.exec();
    return 0;
}

这里写图片描写叙述

void QListWidget::removeItemWidget(QListWidgetItem * item)

用于移除加入的部件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值