#ifndef QBIGORDERVIEWER_H #define QBIGORDERVIEWER_H #include #include #include #include "ordertypedelegate.h" class QTableView; class QLineEdit; class QComboBox; class QPushButton; class BigOrderInfo; /* 大单交易数据查看器主界面 */ class QBigOrderViewer : public QWidget { Q_OBJECT public: explicit QBigOrderViewer(QWidget *parent = nullptr); ~QBigOrderViewer(); private: void setRowData(int row, QSharedPointer order); bool matchesFilter(QSharedPointer order); private slots: //void onBigOrderAdded(QSharedPointer order); // 信号槽无法正确识别,暂时先这么用 //void onBigOrdersUpdated(); void onFilterChanged(); void onExportClicked(); void onBigOrderAdded(const BigOrderInfo &order); // 修改参数类型 private: void initUI(); void initConnections(); void updateView(); void applyFilters(); // UI组件 QTableView *m_tableView; QLineEdit *m_stockCodeFilter; QComboBox *m_orderTypeFilter; QPushButton *m_exportButton; // 数据模型 QStandardItemModel *m_model; QSortFilterProxyModel *m_proxyModel; OrderTypeDelegate *m_typeDelegate; HighlightDelegate *m_lastOrderDelegate; // 数据存储 QList> m_allOrders; QList> m_currentOrders; signals: void sendStockCodeToMainForm(QString code); }; #endif // QBIGORDERVIEWER_H