Qt:在单独的函数中使用ui指针

时间:2014-02-26 03:37:09

标签: c++ qt pointers scope qt5

我想在执行操作时使用单独的函数来更改GUI ui。

例如:这是我点击菜单项的代码:

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

我希望调用函数gui_change(),并改变ui。

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

这会导致错误use of undeclared identifier 'ui',对Qt来说是新手,我花了几个小时谷歌搜索和搜索Stack以确定如何让ui在函数范围内,但是没有成功。

1 个答案:

答案 0 :(得分:2)

你需要让gui_change()成为MainWindow的成员函数,然后将其声明为void MainWindow::gui_change()

如果您只是编写void gui_change(),那么它是一个独立的函数,不属于任何类或命名空间。 (顺便说一句,这是一个C ++问题,而不是Qt问题)