En la programación Qt, después de ingresar el contenido en lineEdit, haga clic en el botón y muestre el contenido en lineEdit en TextBrowser
El mecanismo de ranura de señal es así: connect(XXX, SIGNAL(...), this, SLOT(YYY));
Le ayuda a realizar la función que desea: ( Raspe directamente hasta la parte inferior para ver el código completo)
1. El contenido escrito en .h tiene tres oraciones, preste atención a la posición
En público: ¿agregar una declaración? !
QString str ? //Declarar str, una cadena utilizada para recibir entradas
¡¡Escribe en una nueva línea al final de las tres palabras clave de permiso!!!
public slots ://Presione Enter aquí, la fuente se volverá amarilla
void on_clicked(); //El nombre de la función puede ser arbitrario, no pueden faltar los paréntesis y se deben escribir los parámetros. entre paréntesis cuando sea necesario
2, llamado en .cpp. En .h, haga clic derecho en on_clicked() y agregue una definición en cpp (el segundo elemento debajo del séptimo elemento en la lista. El sistema ayudará a definirlo por sí mismo. Escriba los eventos que deben vincularse en la definición). Por ejemplo, desea agregar lineEdit aquí. La cadena en se muestra en TextBrowser.
void MainWindow::on_clicked(){
str = ui-gt; lineEdit-gt; //Esta oración para obtener la información de entrada debe escribirse en el botón En la función de ranura, porque el valor almacenado en str antes de presionar el botón está vacío. Aquí es cuando se activa el botón y el valor se guarda en str. Escribimos algo antes de presionarlo, entonces lo que leemos después de presionar str es lo que escribimos. La forma incorrecta de escribirlo afuera es que incluso si escribe el contenido usted mismo, aún estará vacío cuando lo ejecute, porque esta no es una adquisición dinámica, digítalo usted mismo
// ui-? gt; textBrowser-gt; clear(); // Si desea mostrar solo una línea cada vez que presiona Aceptar, use esta declaración Primero borre el contenido del navegador original y luego muestre el resultado.
ui-gt; textBrowser-gt; append(str "\n"); //La función escrita aquí es agregar str a textBrowser; aquí también uso saltos de línea para agregar la segunda entrada. en el navegador
// ui-gt; textBrowser-gt; setText(str); //El método setText también se puede utilizar aquí con el mismo efecto
}
3. Escriba la ranura de señal completa en la función principal. connect(ui-gt; pushButton, SIGNAL(clicked()), this, SLOT(on_clicked())); // Conectar evento de ranura de señal
//Formato: connect(enviar control de señal, SIGNAL (una señal en el control), la interfaz o control de recepción (generalmente esto en la misma página), SLOT (la función de ranura recién definida (la función escrita por la función));
Ejecución de renderizado:
El efecto general de la operación
Ingrese la primera oración, el contenido mostrado
La segunda oración, el formato de retorno de carro se agrega en el código
Igual, puedes ingresar cualquier carácter, número, chino
frase4
La ventana se puede estirar y ajustar
Coloca el mouse en el borde de la ventana, y la ventana se puede acercar o alejar, estirada arbitrariamente de forma predeterminada en la aplicación Qt.
Capturas de pantalla del código del archivo de encabezado
Capturas de pantalla del código del archivo fuente
Interfaz UI y nombre del objeto//Archivo de encabezado: es demasiado detallado, elimínelo usted mismo. Solo tengo miedo de que los principiantes no lo entiendan correctamente, así que soy deliberadamente detallado
class?MainWindow?:?public?QMainWindow{
Q_OBJECT
public :
explícito?MainWindow(QWidget?*parent?=?0);
~MainWindow();
QString?str;//Declarar str, utilizado para Recibir la cadena de entrada
privado:
Ui: MainWindow?*ui;
public?slots: // Ingrese aquí y la fuente se vuelve amarilla
void?on_clicked();?//El nombre de la función puede ser arbitrario, los corchetes no deben faltar y los parámetros deben escribirse entre corchetes cuando sea necesario
} //Fuente archivo:
Ventana principal::Ventana principal(QWidget?*padre)?:QMainWindow(padre),
ui(nueva?Ui::Ventana principal)
{
ui-gt; setupUi(this);
ui-gt; lineEdit-gt; setPlaceholderText(QStringLiteral("¿Por favor? ingrese..."));
/// *Las siguientes dos declaraciones están escritas en la posición incorrecta y es posible que no obtenga el efecto deseado (si no lo cree, desbloquéelo y vea el efecto)*///
//QString?str;//Crea una cadena, Error, es mejor declararla en el archivo de encabezado
//str?=?ui-gt; lineEdit-gt; ); //Obtener el contenido de texto de lineEdit (inicialmente el contenido de texto está vacío, una vez que se ejecuta el programa Simplemente guarde el espacio en blanco de lineEdit en str, y cuando haga clic en el botón, encontrará que no hay contenido en it)
connect(ui-gt; pushButton, SIGNAL(clicked()), this, SLOT(on_clicked()) );?//Conectar evento de ranura de señal
// /Formato: conectar (control de señal de envío, SEÑAL (una señal en el control), interfaz o control de recepción (generalmente esto en la misma página), SLOT (la función de ranura recién definida (la función escrita por la función));
}
void?MainWindow::on_clicked()
{ str?= ?ui-gt; lineEdit-gt;?//Esto La oración para obtener la información de entrada debe escribirse en la función de ranura del botón, porque el valor almacenado en str antes de presionar el botón está vacío o es desconocido.
//?ui-gt; textBrowser-gt; clear();?//Si desea mostrar solo una línea cada vez que presiona Aceptar, use esta declaración Primero borre el contenido del original. Luego muestre los resultados. ui-gt; textBrowser-gt; append(str "\n"); //La función escrita aquí es agregar str a textBrowser; aquí uso saltos de línea para mostrar también la segunda entrada en el navegador. >//?ui-gt; textBrowser-gt; setText(str);?//El método setText también se puede utilizar aquí con el mismo efecto
}