zoukankan      html  css  js  c++  java
  • QT信号传递QVector到槽

    SS.h

    #ifndef SS_H
    #define SS_H
    
    #include <QVector>
    #include <QObject>
    
    #include <iostream>
    
    class SS : public QObject {
        Q_OBJECT
        public:
        void prt()
        {
            if (_vec.size() == 0)
                std::cout << "no data" << std::endl;
            for (int i=0; i<_vec.size(); ++i)
                std::cout << _vec[i] << "   ";
            std::cout << std::endl;
        }
        void run()
        {
            QVector<int> vec;
            vec.push_back(1);
            vec.push_back(13);
            vec.push_back(113);
            emit notifyVector(vec);
        }
        public slots:
        void onGotVector(QVector<int> vec)
        {
            _vec = vec;
        }
        signals:
        void notifyVector(QVector<int>);
    
        private:
        QVector<int> _vec;
    };
    
    #endif // SS_H

    main.cpp

    #include <QCoreApplication>
    #include "SS.h"
    
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
        char buf[13] = {0};
        buf[0] = 'a';
        QString qStr(buf);
        std::string sStr(buf, sizeof(buf));
        std::cout << "QString: "     << qStr.length() << std::endl;
        std::cout << "std::string: " << sStr.length() << std::endl;
    
        SS ss1, ss2;
        QObject::connect(&ss1, SIGNAL(notifyVector(QVector<int>)), &ss2, SLOT(onGotVector(QVector<int>)));
        ss2.prt();
        ss1.run();
        ss2.prt();
    
    
        return a.exec();
    }

    运行结果:

    QString: 1
    std::string: 13
    no data
    
    1   13   113
  • 相关阅读:
    struts2 和 js 标签取值
    使用jQuery 取文本
    a 标签 name 属性 页面定位 (一)
    a 标签 name 属性 页面定位 (二)
    GitHub 出现这样的问题怎么办
    金融政策
    基金基础知识
    bitcoinj学习记录
    金融电影
    黑客
  • 原文地址:https://www.cnblogs.com/Leo-Forest/p/3303362.html
Copyright © 2011-2022 走看看