Dirección original: https://houkaifa.com/2019/02/18/LearningNotes-QT-01/
contorno
Eran señal de agregado (unión) y la ranura y la función de conexión por Qt Designer.
Medio Ambiente: Win10 + VS2017 + QT5.9.2.
La implementación de contenido: Haga clic en el botón para salir del programa, haga clic en el cuadro de mensaje emergente botón.
En primer lugar, el proyecto de creación de QT
Abra Visual Studio 2017, la nueva aplicación de interfaz gráfica de usuario QT.
Durante todo el camino A continuación, en Finalizar.
La figura es una estructura de directorio inicial:
F5 para depurar el programa, consulte la interfaz GUI inicial:
En segundo lugar, el uso de señales Además diseñador QT y la ranura
En solución, el resultado .ui encontrar el archivo por defecto, haga doble clic para abrir en Qt Designer.
En la caja de widgets El botón de arrastre en la ventana principal.
Modificar nomObjeto, valor de texto "closeButton" en el Editor de atributos.
Donde nomObjeto es el nombre de los componentes Widget componentes, el texto se muestra en el título del botón. valor de texto también se puede modificar de forma rápida haciendo doble clic en el botón añadir.
Seguido de la adición de una señal en el editor de señal de canal / ranura.
El remitente es un botón closeButton, la señal () de señal que es el botón izquierdo del ratón (evento / evento) se hace clic, el destinatario es QtGuiApplicationClass, ranuras para el cierre (), una función que es la destrucción QtGuiApplicationClass.
Ctrl + S para guardar los cambios y volver a VS2017, F5 para depurar el programa, haga clic en el botón closeButton, el programa se cierra.
señales y ranuras QtGui están en representación desarrollo del evento, es decir, la señal es el evento de disparo, la ranura es un controlador de eventos que se activa por la señal.
Puede / editor de ranura agregar fácilmente la señal nativa través de ranuras en la señal de Qt Designer. Después de que el artículo se describe cómo agregar una ranura personalizado.
En tercer lugar, la función de conexión por encargo surco de unión
Añadir un nuevo botón en Qt Designer, las propiedades relevantes modificados para MessageButton, ahora tenemos dos botones.
Volver VS2017, ir al archivo .h, añadir la definición de las franjas horarias.
En el que el nombre de la función y el tipo de retorno es un formato fijo: vacío on_WidgetName_Event ().
Aquí es WidgetName MessageButton, se hace clic en el evento correspondiente, para que pueda ver la figura siguiente, las declaraciones de funciones completas son:
void on_MessageButton_clicked ();
Si ui _ * h Aparece archivo .h en el archivo contiene errores, de la siguiente manera:
sólo tiene que seleccionar la opción Convertir un proyecto a otro QMake generado puede ser resuelto en QT VS menú Herramientas barra de VS2017.
A continuación, puede saltar al archivo .cpp correspondiente para agregar la función de lograr.
Como se usa en este documento, la función de advertencia de clase QMessageBox para mostrar un cuadro de mensaje de advertencia. Proporciona una gran cantidad de información en el archivo de cabecera de estilo cuadro QMessageBox, el cuadro de información de la llamada correspondiente en el que la necesidad de incluir en el archivo el archivo de cabecera .h. :
#include <QMessageBox.h>
Hasta ahora, hemos añadido un botón MessageButton, definir e implementar un canal de su función (on_MessageButton_clicked).
Pero ahora se corre el programa, haga clic en el botón messageButton no tendrá ninguna reacción, porque sólo hemos completado la definición e implementación de la función de la ranura, aquí estamos en el constructor de la clase QtGui, las señales y las ranuras están conectados a través de la función de conexión.
Aquí prototipo de la función de conexión es el siguiente:
static QMetaObject::Connection connect(const QObject *sender, const QMetaMethod &signal,
const QObject *receiver, const QMetaMethod &method,
Qt::ConnectionType type = Qt::AutoConnection);
Hasta el momento, F5 para depurar el programa, pulse el botón para ver un cuadro de mensaje emergente.