QAxBaseWidget Class
QAxBaseWidget fournit des propriétés et des signaux statiques pour QAxWidget. En savoir plus...
| En-tête : | #include <qaxwidget.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS AxContainer) target_link_libraries(mytarget PRIVATE Qt6::AxContainer) |
| qmake : | QT += axcontainer |
| Depuis : | Qt 6.0 |
| Hérite de : | QWidget et QAxObjectInterface |
| Hérité par : |
Propriétés
- classContext : ulong
- control : QString
Signaux
| 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) |
Documentation sur les propriétés
classContext : ulong
Cette propriété définit le contexte dans lequel le contrôle ActiveX s'exécutera (par défaut : CLSCTX_SERVER).
Cette propriété affecte l'argument « dwClsContext » lors de l'appel de CoCreateInstance. Elle peut être utilisée pour contrôler le démarrage en mode « in-proc » ou « out-of-proc » pour les contrôles prenant en charge ces deux modes. Elle permet également de modifier ou de restreindre les autorisations du contrôle lorsqu’elle est utilisée avec CLSCTX_ENABLE_CLOAKING et un jeton d’usurpation d’identité.
Notez qu’elle doit être définie avant l’appel à ` setControl()` pour produire un effet.
Voir également control.
control : QString
Cette propriété contient le nom de l'objet COM encapsulé par cet objet « QAxBaseWidget ».
La définition de cette propriété initialise l'objet COM. Tout objet COM précédemment défini est arrêté.
La manière la plus efficace de définir cette propriété consiste à utiliser l'UUID du composant enregistré, par exemple
ctrl->setControl("{8E27C92B-1264-101C-8A2F-040224009C02}");La deuxième méthode la plus rapide consiste à utiliser le nom de classe du contrôle enregistré (avec ou sans numéro de version), par exemple
ctrl->setControl("MSCal.Calendar");La méthode la plus lente, mais la plus simple à utiliser, consiste à utiliser le nom complet du contrôle, par exemple
ctrl->setControl("Calendar Control 9.0");Il est également possible d’initialiser l’objet à partir d’un fichier, par exemple
ctrl->setControl("c:/files/file.doc");Si l’UUID du composant est utilisé, les modèles suivants peuvent servir à initialiser le contrôle sur une machine distante, à initialiser un contrôle sous licence ou à se connecter à un objet en cours d’exécution :
- Pour initialiser le contrôle sur une autre machine, utilisez le modèle suivant :
<domain/username>:<password>@server/{8E27C92B-1264-101C-8A2F-040224009C02} - Pour initialiser un contrôle sous licence, utilisez le modèle suivant :
{8E27C92B-1264-101C-8A2F-040224009C02}:<LicenseKey> - Pour vous connecter à un objet déjà en cours d'exécution, utilisez le modèle suivant :
{8E27C92B-1264-101C-8A2F-040224009C02}&
Les deux premiers modèles peuvent être combinés, par exemple pour initialiser un contrôle sous licence sur une machine distante :
ctrl->setControl("DOMAIN/user:password@server/{8E27C92B-1264-101C-8A2F-040224009C02}:LicenseKey");La fonction de lecture du contrôle renvoie toujours l'UUID du contrôle, ainsi que la clé de licence si elle est fournie, et le nom du serveur, mais sans inclure le nom d'utilisateur, le domaine ni le mot de passe.
Voir également classContext.
Documentation des fonctions membres
[signal] void QAxBaseWidget::exception(int code, const QString &source, const QString &desc, const QString &help)
Ce signal est émis lorsque l'objet COM lève une exception alors qu'il est appelé via l'interface d'automatisation OLE IDispatch. code, source, desc et help fournissent des informations sur l'exception telles qu'elles sont fournies par le serveur COM et peuvent être utilisées pour fournir des informations utiles à l'utilisateur final. help inclut le fichier d'aide et l'ID du contexte d'aide entre crochets, par exemple « nom_fichier [id] ».
Voir également QAxBaseObject::exception().
[signal] void QAxBaseWidget::propertyChanged(const QString &name)
Si l'objet COM prend en charge la notification de propriété, ce signal est émis lorsque la propriété nommée « name » est modifiée.
Voir également QAxBaseObject::propertyChanged().
[signal] void QAxBaseWidget::signal(const QString &name, int argc, void *argv)
Ce signal générique est émis lorsque l'objet COM déclenche l'événement « name ». argc correspond au nombre de paramètres fournis par l'événement (DISPPARAMS.cArgs), et argv est le pointeur vers les valeurs des paramètres (DISPPARAMS.rgvarg). Notez que l’ordre des valeurs des paramètres est inversé, c’est-à-dire que le dernier élément du tableau correspond au premier paramètre de la fonction.
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;
}
}Utilisez ce signal si l’événement comporte des paramètres de types de données non pris en charge. Sinon, connectez-vous directement au signal name.
Voir également 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.