Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo crea qt dinámicamente un widget QWIdget a partir de un archivo ui?

¿Cómo crea qt dinámicamente un widget QWIdget a partir de un archivo ui?

Los cuadros de diálogo dinámicos se crean utilizando archivos .ui de Qt Designer mientras el programa se está ejecutando. En lugar de utilizar herramientas uic para convertir archivos .ui en

código C equivalente, los archivos .ui se cargan utilizando la clase QUiLoader cuando el programa se está ejecutando, como el siguiente código:

QUiLoader uiLoader;

Archivo QFile("sortdialog.ui");

QWidget *sortDialog = uiLoader.load(amp; archivo);

if (sortDialog); ) {

...

}

Los controles secundarios se pueden obtener a través de QObject::findChildlt;Tgt;()

QComboBox *primaryColumnCombo =

sortDialog-gt; findChildlt.QComboBox *gt; ("primaryColumnCombo"

if (primaryColumnCombo) { ...

}

findChildlt;Tgt;() es una función miembro de plantilla utilizada para obtener un puntero a un control secundario de tipo T con un nombre determinado. Esta función no está disponible en MSVC6 debido a razones del compilador. Si está utilizando MSVC6, puede utilizar la función global

qFindChildlt;Tgt;().

La clase QUiLoader se encuentra en una biblioteca de enlaces separada. Si usa QUiLoader en su aplicación,

Debe agregar el siguiente código en el archivo .pro de la aplicación:

CONFIG = uitools

Usando Dynamics Dialog Los cuadros pueden cambiar el diseño del cuadro de diálogo sin volver a compilar el programa.