widget_file_list/card_list_widget.h

38 lines
899 B
C
Raw Normal View History

2025-02-14 15:00:10 +08:00
#ifndef CARD_LIST_WIDGET_H
#define CARD_LIST_WIDGET_H
#include <QWidget>
#include <QListWidget>
#include <QStyledItemDelegate>
// 卡片数据结构
struct CardData {
QString name;
QString date;
QString description;
};
// 自定义委托类来绘制卡片样式
class CardItemDelegate : public QStyledItemDelegate {
Q_OBJECT
public:
explicit CardItemDelegate(QObject* parent = nullptr);
void paint(QPainter* painter, const QStyleOptionViewItem& option,
const QModelIndex& index) const override;
QSize sizeHint(const QStyleOptionViewItem& option,
const QModelIndex& index) const override;
};
// 主窗口类
class MainWindow : public QWidget {
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = nullptr);
private:
QListWidget* listWidget;
void addCardItem(const CardData& data);
};
#endif // CARD_LIST_WIDGET_H