Dos formas para que la clase única de Qt cargue el archivo de interfaz independiente ui

Descripción del problema:

Ayer, encontré un proyecto sin archivos de interfaz de interfaz de usuario en el código fuente del programa Qt. Todos los controles de la interfaz están escritos en el código cpp, y la interfaz es relativamente simple, por lo que es suficiente poner menos de 100 líneas de código en el constructor. .

Pero quiero agregar algunas funciones, y será feo seguir agregando. Aunque al escribir la interfaz en la implementación de la clase, puede usar estos controles de interfaz de manera más conveniente, especialmente cuando tiene otras clases que desean llamar directamente a los controles de la clase actual, es realmente genial.

Sin embargo, puede ser un poco problemático.Usar la interfaz ui es más intuitivo que el código, y ¿no es bueno para QtCreator crear clases de interfaz directamente? Arrastre algunos controles, haga clic en un diseño de cuadrícula y la interfaz se organizará de forma automática y ordenada, lo que es más fácil de usar que Android Studio.

Aquí, necesito modificar el código de la interfaz en el cpp anterior, y luego quiero agregar un archivo de interfaz ui, que se creó recientemente a través de QtCreator, sin el enlace previo de los archivos de clase. Por lo tanto, debe manejarlo manualmente.

Dos caminos:

1. Enlace manualmente, al igual que QtCreator agrega la clase de interfaz, simplemente cambie la clase original sin interfaz.

2. Use QUiLoader para agregar dinámicamente archivos de interfaz de interfaz de usuario como inflater.getInflate() en Android.

Solución:

La primera forma:

Una clase solo se puede vincular a un archivo de interfaz de usuario y esta clase debe ser una clase heredada de controles de interfaz como QWidget.

En la clase de interfaz de plantilla creada automáticamente por QtCreator, se declara un espacio de nombres Ui en el archivo de encabezado, de la siguiente manera:

おすすめ

転載: blog.csdn.net/poolooloo/article/details/129473644