从不同的QWidget隐藏QWidget

时间:2016-04-28 08:42:30

标签: c++ qt qwidget

我有一个带有两个小部件的MainWindow,buttonsWidget和infoWidget。 我试图在单击buttonsWidget内的按钮后隐藏infoWidget(并最终显示不同的小部件)。

我试过了:

mainwindow.h

ValidateException

mainwindow.cpp

public:
void hideInfo();

buttonsWidget.cpp

void MainWindow::hideInfo()
{
ui->info->hide();
}

非常感谢

1 个答案:

答案 0 :(得分:1)

您应该使用Signals and Slots

在buttonsWidget.h中添加一个信号。

signals:
    void hideInfoSignal();

在main函数中,使用主窗口方法hideInfo()连接按钮信号。

QObject::connect(this->info, SIGNAL(hideInfoSignal),this, SLOT(hideInfo));

我没有对此进行过测试,因为我在这台机器上没有Qt,但这应该可行,可能会进行微小的修改。如果出现任何错误,请告诉我,我会帮忙。另外,请阅读信号和插槽文档。