#ifndef GETSTOCKLIST_H #define GETSTOCKLIST_H #include <QMainWindow> #include <QNetworkAccessManager> #include <QNetworkCookie> #include <QNetworkRequest> #include <QNetworkReply> #include <QStandardItemModel> #include <QMenu> #include <QLineSeries> // 折线类 #include <QSplineSeries> // 曲线类 #include <QTimer> #include <QCompleter> // ç”¨äºŽæ¨¡ç³ŠåŒ¹é… #include "customitem.h" #include "customsortproxymodel.h" QT_CHARTS_USE_NAMESPACE // 命å空间得使用起æ¥ï¼Œè¦ä¸ç„¶ç±»ä¼šæ‹¿ä¸åˆ° /* * 关于SSL的处ç†ï¼Œç”±äºŽè¦è¯·æ±‚ https的链接,需è¦å°†ç¼–译器目录下的两个dll动æ€åº“æ‹·è´åˆ°å¯¹åº”编译器的bin目录下 * å°†libeay32.dll å’Œ ssleay32.dll 两个文件å¤åˆ¶åˆ°å¯¹åº”的区域 * 例如从编译器的opt\bin原始目录:...\Qt5.9.4\Tools\mingw530_32\opt\bin 找个这2个dll * æ‹·è´åˆ°ç¼–译器的bin目录下: ...\Qt5.9.4\Tools\mingw530_32\bin */ namespace Ui { class GetStockList; } class GetStockList : public QMainWindow { Q_OBJECT public: explicit GetStockList(QWidget *parent = 0); ~GetStockList(); void getStockAllCode(QByteArray &buffer); // èŽ·å–æ‰€æœ‰æ²ªæ·±è‚¡ç¥¨çš„ä¿¡æ¯ void getStockOne(QByteArray &buffer); // 获å–å•åªè‚¡ç¥¨çš„å¤„ç† void getIndustryInfo(QByteArray &buffer); // 获å–è¡Œä¸šä¿¡æ¯ void getStockByIndustry(QByteArray &buffer,QString industryCode); // 通过行业获å–股票 signals: void sendChartData(QLineSeries*); // 折线 void sendChartData(QSplineSeries*); // 曲线 void sendInfoMess(QString); // å‘逿¶ˆæ¯æç¤º void sendClosePrice(QString,QString); // å‘逿œ€æ–°çš„ä»·æ ¼ï¼šåå—ã€ä»·æ ¼ void sendCodeNames(QMap<QString, QString> &); // 给历å²åˆ†æžç•Œé¢å‘é€åå—代å·ä¿¡æ¯ private slots: void on_pushButton_get_clicked(); void showAplyData(QNetworkReply *reply); // 用æ¥å“åº”è¯·æ±‚çš„å›žä¼ æ•°æ®çš„æ§½å‡½æ•° void on_pushButton_get_2_clicked(); // èŽ·å–æ²ªæ·±è‚¡å¸‚æ•°æ®çš„æŒ‰é’®æ§½å‡½æ•° void showMenu(); void policySlot(); void priceSlot(); void maPolicySlot(); // MAç–略槽 void maTest100Slot(); // MAç–略回测å‰100åæ§½ void multiResonateTest100Slot(); // 多ç–略共振回测å‰100åæ§½ void macdPolicySlot(); // MACDç–略槽 void buttomToUpPolicySlot(); // 底部翻转ç–ç•¥--主è¦ç”¨äºŽæœˆçº¿å¤„ç† void multiResonatePolicySlot(); // 多ç–略共振 void oneUpCrossFourSlot(); // 一阳穿四线,åƒå†›ä¸‡é©¬æ¥ç›¸è§ void oneUpCrossFourTest100Slot(); // 一阳穿四线,åƒå†›ä¸‡é©¬æ¥ç›¸è§ 回测 void getCodeSlot(); // 获å–股票代å·çš„定时器的槽 void pollMultiSlot(); // 轮询多ç–略共振定时器 void on_pushButton_industry_clicked(); void getLastClosePrice(QString name); // 通过åå—获å–è‚¡ç¥¨ä»·æ ¼æ§½ void on_pushButton_filterCap_clicked(); void on_pushButton_search_clicked(); void on_lineEdit_search_returnPressed(); private: Ui::GetStockList *ui; // è¿™2ä¸ªç”¨äºŽçˆ¬å–æ•°æ®çš„ QNetworkRequest m_request; // 用于管ç†è¯·æ±‚头的 QString m_cookie; // ç¼“å˜ QNetworkAccessManager m_manager; // 用于管ç†http请求åŠå“应的 // 下é¢è¿™å‡ 个用于显å¼çˆ¬åˆ°çš„è‚¡ç¥¨æ•°æ® QStandardItemModel *m_model; // æ ‡å‡†é¡¹æ¨¡åž‹ï¼Œç”¨æ¥å˜å‚¨æ•°æ®çš„,将模型和视图进行了分离 CustomSortProxyModel *m_customModel; // 用于排åºçš„自定义模型 QMenu *m_menu; // èœå•指针,用æ¥å¤„ç†å³å‡»èœå•çš„ int m_numsCnt; // å•个股票的数æ®è¡Œæ•° int m_menuIndex; // 针对å•个股票需è¦åˆ¤æ–是哪个æ“作,用æ¥è®°å½•ä¸‹æ ‡çš„ QTimer *m_getCodeTimer; // 获å–股票代å·çš„定时器 QMap<QString,QString> m_codeNames; // 股票代å·å’Œåå— QMap<QString,QString> m_industryInfo; // 行业代ç 和行业åå— QMap<QString,QVector<QString>> m_codeAndIndustry; // 股票代å·åŠå¯¹åº”的行业代ç QString m_curIndustry; // 当å‰è¡Œä¸š QString m_dateType; // 日期类型:day week month year int m_maTestNum; // maç–ç•¥å›žæµ‹æ•°é‡ QTimer *m_pollMultiTimer; // 轮询多ç–略定时器 QCompleter *m_completer; // æ”¯æŒæ¨¡ç³ŠåŒ¹é… }; #endif // GETSTOCKLIST_H