Pregunta

Me gustaría modificar la interfaz gráfica de usuario utilizando una función separada cuando se lleva a cabo una acción.

Por ejemplo:Aquí está mi código para hacer clic en un elemento del menú:

void MainWindow::on_actionImperial_triggered()
{
    ui->actionMetric->setChecked(false);
    ui->z_unit_label->setText("inches");
    void gui_change();
}

me gustaria la funcion gui_change() para ser llamado y modificar la interfaz de usuario.

void gui_change()
{
    ui->pushButton_2->setStyleSheet("color:grey");
    ui->pushButton->setStyleSheet("color:green");
}

Esto da como resultado el error use of undeclared identifier 'ui', siendo nuevo en Qt, pasé algunas horas buscando en Google y en Stack para determinar cómo obtener ui estar dentro del alcance de la función, pero no lo han logrado.

¿Fue útil?

Solución

Debe hacer que GUI_CHANGE () una función Miembro de MainWindow y luego declarelo como void MainWindow::gui_change().

Si simplemente escribe void gui_change(), entonces es una función independiente que no es parte de ninguna clase o espacio de nombres.(BTW, este es un problema de C ++, no un problema QT)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top