Qt 之 QListWidget

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013305101/article/details/80650311

本文主要是写自己在开发工作中对QListWidget的使用心得,该程序主要是为了实现图片资源库管理功能,具体使用QListWidget添加显示图片资源,拖拽列表图片到主窗体进行添加放大显示。注意:主窗体需要实现拖拽进入事件dragEnterEvent,放置事件dropEvent。

#include <QListWidget>

// 资源图片列表

{

    // 实例化列表

    QListWidget *pListWidget = new QListWidget(this);

    // 支持拖拽

    pListWidget->setDragEnabled(true);

    // 图片显示模式

扫描二维码关注公众号,回复: 3747458 查看本文章

    pListWidget->setViewMode(QListView::IconMode);

    // 禁止拖放

    pListWidget->setAcceptDrops(false);

    // 设置图片大小

    pListWidget->setIconSize(QSize(100, 100));

    // 禁用光标

    pListWidget->setFocusPolicy(Qt::NoFocus);

    // 自适应布局

    pListWidget->setResizeMode(QListView::Adjust);

    // 实例化节点

    QListWidgetItem *pItem = new QListWidgetItem;

    QPixmap pix("./test.png“);

    pItem->setIcon(pix);

    // 设置每个图片单元大小

    pItem->setSizeHint(QSize(100, 100));

}

void CMainWindow::InitWidget()

{

    this->setAcceptDrops(true);

}

// 主窗体开启放置功能

void CMainWindow::dragEnterEvent(QDragEnterEvent *event)

{

    event->acceptProposedAction();

}

void CMainWindow::dropEvent(QDropEvent *event)

{

    // 放置后获取鼠标位置

    QPoint pos(this->cursor().pos());

    int x = pos.x();

    int y = pos.y();

}

猜你喜欢

转载自blog.csdn.net/u013305101/article/details/80650311