VS & QT-Qt Creator no tiene opción para ir a la ranura

problema

Planteamiento del problema

Solución

viviendo cómodamente sin la ayuda de nadie

//xxx.h
signals:
	xxx
private slots:
	xxx
//xxx.cpp
connect(xx,xx,xx,xx);

semiautomático

Definitivamente es difícil adaptarse a esto cuando se usa para ir a la función de tragamonedas, y lo encuentro particularmente problemático. De hecho, tenemos un método relativamente conciso.

¡Solo necesita estandarizarse!

Por ejemplo, necesito agregar un evento de clic pushButton:

// xxx.h
private slots:
	void on_pushButton_DigitalIO_clicked();
// xxx.cpp
void xxxx::on_pushButton_DigitalIO_clicked(){
    
    
	//...
}

Se encontró que este método fue causado por un accidente. La función de ranura personalizada siempre se llamaba dos veces y la señal solo se enviaba una vez. Al final, se descubrió que el nombre de la función de ranura era un problema.

Entonces comencé a pensar, hicimos clic para ir a la ranura, QT Creator¿qué hicimos por nosotros?

Permítanme hablar primero de la conclusión, Qt Creatornos ayudará a generar una función de ranura nombrada en un formato específico; al compilar, se hace internamente de acuerdo con las reglas de nomenclatura connect.

Específicamente:

  • Modificar ui文件, compilar y generarui_xxxx.h
  • ui_xxxx.hContiene setupUint( )la función, debe haber el final de la funciónQMetaObject::connectSlotsByName(HardwareControl)

Veamos la Qtexplicación oficial del documento:
Inserte la descripción de la imagen aquí
esta función busca de forma recursiva todos los objetos secundarios de un objeto dado, y desde su señal de coincidencia para seguir ciertas reglas del banco de objetos.

De acuerdo con las reglas, solo necesitamos definir la función del canal puede ser, connectvamos Qta completarla -

void on_<object name>_<signal name>(<signal parameters>);

Supongo que te gusta

Origin blog.csdn.net/weixin_40774605/article/details/108086349
Recomendado
Clasificación