从不同的 QWidget 中隐藏 QWidget
hide QWidget from a different QWidget
我有一个带有两个小部件的主窗口,buttonsWidget 和 infoWidget。
我试图在单击 buttonsWidget 中的按钮后隐藏 infoWidget(并最终显示不同的小部件)。
我试过:
mainwindow.h
public:
void hideInfo();
mainwindow.cpp
void MainWindow::hideInfo()
{
ui->info->hide();
}
buttonsWidget.cpp
void buttonsWidget::on_timingButton_clicked()
{
MainWindow::hideInfo();
//Then will do something to show 'timingWidget'..
}
非常感谢
为此你应该使用 Signals and Slots。
在 buttonsWidget.h 中添加一个信号。
signals:
void hideInfoSignal();
在主函数中,将按钮信号连接到主窗口方法hideInfo()。
QObject::connect(this->info, SIGNAL(hideInfoSignal),this, SLOT(hideInfo));
我还没有测试过这个,因为我在这台机器上没有 Qt,但它应该可以工作,可能需要稍作修改。如果出现任何错误,请告诉我,我会提供帮助。另外,请阅读信号和插槽文档。
我有一个带有两个小部件的主窗口,buttonsWidget 和 infoWidget。 我试图在单击 buttonsWidget 中的按钮后隐藏 infoWidget(并最终显示不同的小部件)。
我试过:
mainwindow.h
public:
void hideInfo();
mainwindow.cpp
void MainWindow::hideInfo()
{
ui->info->hide();
}
buttonsWidget.cpp
void buttonsWidget::on_timingButton_clicked()
{
MainWindow::hideInfo();
//Then will do something to show 'timingWidget'..
}
非常感谢
为此你应该使用 Signals and Slots。
在 buttonsWidget.h 中添加一个信号。
signals:
void hideInfoSignal();
在主函数中,将按钮信号连接到主窗口方法hideInfo()。
QObject::connect(this->info, SIGNAL(hideInfoSignal),this, SLOT(hideInfo));
我还没有测试过这个,因为我在这台机器上没有 Qt,但它应该可以工作,可能需要稍作修改。如果出现任何错误,请告诉我,我会提供帮助。另外,请阅读信号和插槽文档。