zoukankan      html  css  js  c++  java
  • 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 宏
    导出方法 使用 公共槽
    导出事件 使用 信号
    
  • 相关阅读:
    ESP32学习目录
    python中mysql管理模块mysql-connector使用
    MYSQL基础知识和操作
    urlib补充
    Python3中Urllib库是什么?urllib模块基本使用
    递归:斐波契那数列
    python正则模块一
    模块&包
    XML模块示例代码
    使用python操作XML增删改查
  • 原文地址:https://www.cnblogs.com/cheungxiongwei/p/7809741.html
Copyright © 2011-2022 走看看