• Qt ActiveX web dome 详细例子


    http://doc.qt.io/qt-5.9/activeqt-server.html

    hierarchy 例子

    #ifndef OBJECTS_H
    #define OBJECTS_H
    
    #include <QWidget>
    
    QT_BEGIN_NAMESPACE
    class QVBoxLayout;
    QT_END_NAMESPACE
    class QSubWidget;
    
    //! [0]
    class QParentWidget : public QWidget
    {
        Q_OBJECT
        Q_CLASSINFO("ClassID", "{d574a747-8016-46db-a07c-b2b4854ee75c}");// html 网页接口,即类接口
        Q_CLASSINFO("InterfaceID", "{4a30719d-d9c2-4659-9d16-67378209f822}");
        Q_CLASSINFO("EventsID", "{4a30719d-d9c2-4659-9d16-67378209f823}");
    public:
        QParentWidget(QWidget *parent = 0);
    
        QSize sizeHint() const;
    
    public slots:
        void createSubWidget( const QString &name );//导出的方法
    
        QSubWidget *subWidget( const QString &name );//导出的方法
    
    private:
        QVBoxLayout *vbox;
    };
    //! [0]
    
    //! [1]
    class QSubWidget : public QWidget
    {
        Q_OBJECT
        Q_PROPERTY( QString label READ label WRITE setLabel )//导出的属性
    
        Q_CLASSINFO("ClassID", "{850652f4-8f71-4f69-b745-bce241ccdc30}");//类接口
        Q_CLASSINFO("InterfaceID", "{2d76cc2f-3488-417a-83d6-debff88b3c3f}");
        Q_CLASSINFO("ToSuperClass", "QSubWidget");
    
    public:
        QSubWidget(QWidget *parent = 0, const QString &name = QString());
    
        void setLabel( const QString &text );
        QString label() const;
    
        QSize sizeHint() const;
    
    protected:
        void paintEvent( QPaintEvent *e );
    
    private:
        QString lbl;
    };
    //! [1]
    
    #endif // OBJECTS_H
    
    
    //综上所述
    导出属性 使用 Q_PROPERTY 宏
    导出方法 使用 公共槽
    导出事件 使用 信号
    
  • 相关阅读:
    性能测试——Jmeter基本用法概述
    Postman-newman基础用法
    数据库基础总结
    性能测试概述
    pytest+allure生成测试报告
    CSS入门基础
    HTML基础知识总结
    robotframework:无法导入资源Not a valid file or directory to import
    robotframework及官方编辑器RIDE的安装与配置
    常用排序算法
  • 原文地址:https://www.cnblogs.com/cheungxiongwei/p/7809741.html
Copyright © 2020-2023  润新知