QAxBaseWidget Class
QAxBaseWidget proporciona propiedades estáticas y señales para QAxWidget. Más...
| Cabecera: | #include <QAxBaseWidget> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS AxContainer)target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake: | QT += axcontainer |
| Desde: | Qt 6.0 |
| Hereda de | QWidget y QAxObjectInterface |
| Heredado por: |
Propiedades
- classContext : ulong
- control : QString
Señales
| void | exception(int code, const QString &source, const QString &desc, const QString &help) |
| void | propertyChanged(const QString &name) |
| void | signal(const QString &name, int argc, void *argv) |
Documentación de propiedades
classContext : ulong
Esta propiedad contiene el contexto en el que se ejecutará el control ActiveX (por defecto CLSCTX_SERVER).
La propiedad afecta al argumento "dwClsContext" cuando se llama a CoCreateInstance. Esto se puede utilizar para controlar el inicio in-proc vs. out-of-proc para controles que soporten ambas alternativas. También puede utilizarse para modificar/reducir los permisos de control cuando se utiliza con CLSCTX_ENABLE_CLOAKING y un token de suplantación.
Tenga en cuenta que debe establecerse antes de setControl() para que tenga efecto.
Véase también control.
control : QString
Esta propiedad contiene el nombre del objeto COM envuelto por este objeto QAxBaseWidget.
Al establecer esta propiedad se inicializa el objeto COM. Cualquier objeto COM previamente establecido se cierra.
La forma más eficaz de establecer esta propiedad es utilizar el UUID del componente registrado, por ejemplo
ctrl->setControl("{8E27C92B-1264-101C-8A2F-040224009C02}");
La segunda forma más rápida es utilizar el nombre de clase del control registrado (con o sin número de versión), por ejemplo
ctrl->setControl("MSCal.Calendar");
La forma más lenta, pero la más sencilla, es utilizar el nombre completo del control, p. ej.
ctrl->setControl("Calendar Control 9.0");
También es posible inicializar el objeto desde un archivo, por ejemplo
ctrl->setControl("c:/files/file.doc");
Si se utiliza el UUID del componente, se pueden utilizar los siguientes patrones para inicializar el control en una máquina remota, para inicializar un control con licencia o para conectarse a un objeto en ejecución:
- Para inicializar el control en una máquina diferente utilice el siguiente patrón:
<domain/username>:<password>@server/{8E27C92B-1264-101C-8A2F-040224009C02}
- Para inicializar un control con licencia utilice el siguiente patrón:
{8E27C92B-1264-101C-8A2F-040224009C02}:<LicenseKey> - Para conectarse a un objeto en ejecución utilice el siguiente patrón:
{8E27C92B-1264-101C-8A2F-040224009C02}&
Los dos primeros patrones pueden combinarse, por ejemplo, para inicializar un control con licencia en una máquina remota:
ctrl->setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");
La función de lectura del control siempre devuelve el UUID del control, si se proporciona incluyendo la clave de licencia, y el nombre del servidor, pero sin incluir el nombre de usuario, el dominio o la contraseña.
Véase también classContext.
Documentación de las funciones miembro
[signal] void QAxBaseWidget::exception(int code, const QString &source, const QString &desc, const QString &help)
Esta señal se emite cuando el objeto COM lanza una excepción al ser llamado utilizando la interfaz de automatización OLE IDispatch. code source , desc y help proporcionan información sobre la excepción tal y como la proporciona el servidor COM y pueden utilizarse para proporcionar información útil al usuario final. help incluye el archivo de ayuda y el ID del contexto de ayuda entre paréntesis, por ejemplo, "filename [id]".
Véase también QAxBaseObject::exception().
[signal] void QAxBaseWidget::propertyChanged(const QString &name)
Si el objeto COM admite la notificación de propiedades, esta señal se emite cuando se modifica la propiedad llamada name.
Véase también QAxBaseObject::propertyChanged().
[signal] void QAxBaseWidget::signal(const QString &name, int argc, void *argv)
Esta señal genérica se emite cuando el objeto COM emite el evento name. argc es el número de parámetros proporcionados por el evento (DISPPARAMS.cArgs), y argv es el puntero a los valores de los parámetros (DISPPARAMS.rgvarg). Tenga en cuenta que el orden de los valores de los parámetros se invierte, es decir, el último elemento de la matriz es el primer parámetro de la función.
void Receiver::slot(const QString &name, int argc, void *argv) { VARIANTARG *params = (VARIANTARG*)argv; if (name.startsWith("BeforeNavigate2(")) { IDispatch *pDisp = params[argc-1].pdispVal; VARIANTARG URL = *params[argc-2].pvarVal; VARIANTARG Flags = *params[argc-3].pvarVal; VARIANTARG TargetFrameName = *params[argc-4].pvarVal; VARIANTARG PostData = *params[argc-5].pvarVal; VARIANTARG Headers = *params[argc-6].pvarVal; bool *Cancel = params[argc-7].pboolVal; } }
Utilice esta señal si el evento tiene parámetros de tipos de datos no soportados. En caso contrario, conéctese directamente a la señal name.
Véase también QAxBaseObject::signal().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.