Вопрос:использовать указатель пользовательского интерфейса в отдельной функции
Вопрос
Я хотел бы изменить графический интерфейс пользователя, используя отдельную функцию при выполнении действия.
Например:вот мой код для щелчка по пункту меню:
void MainWindow::on_actionImperial_triggered()
{
ui->actionMetric->setChecked(false);
ui->z_unit_label->setText("inches");
void gui_change();
}
Мне нужна функция gui_change()
для вызова и изменить пользовательский интерфейс.
void gui_change()
{
ui->pushButton_2->setStyleSheet("color:grey");
ui->pushButton->setStyleSheet("color:green");
}
Это приводит к ошибке use of undeclared identifier 'ui'
, Будучи новичком в Qt, я потратил несколько часов на поиск в Google и Stack, чтобы определить, как получить ui
находиться в пределах функции, но не удалось.
Решение
Вам нужно сделать gui_change() функцией-членом MainWindow, а затем объявить ее как void MainWindow::gui_change()
.
Если вы просто напишете void gui_change()
, то это отдельная функция, не являющаяся частью какого-либо класса или пространства имен.(Кстати, это проблема C++, а не проблема Qt)