Qt:use el puntero ui en una función separada
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.
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)