#ifndef CTAI_MSG_TABLE_H #define CTAI_MSG_TABLE_H #include #include #include "ctai_textedit.h" class ctai_msg_table : public QListWidget { Q_OBJECT public: ctai_msg_table(QWidget *parent = nullptr); ~ctai_msg_table(); // 添加一条新消息 void add_message(const model_data &message); // 获取当前选中的消息widget ctai_textedit *current_message() const; protected: void resizeEvent(QResizeEvent *event) override; void showEvent(QShowEvent *event) override; private slots: void on_item_clicked(QListWidgetItem *item); private: // 创建新的消息项 QListWidgetItem *create_message_item(ctai_textedit *message_widget); void update_item_height(QListWidgetItem* item, ctai_textedit* widget); void update_items_width(); }; #endif