2
私は、2つのウィジェットbuttonWidgetとinfoWidgetを持つMainWindowを持っています。私はbuttonsWidget内のボタンをクリックした後にinfoWidgetを非表示にしようとしています(そして最終的に別のウィジェットを表示しています)。別のQWidgetからQWidgetを隠す
私が試してみた:
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'..
}
感謝
ありがとうございます。最後に私はした: * buttonsWidget.h * 信号: void hideInfoSignal(); * infowidget.h * パブリックスロット: void hideInfo(); * buttonsWidget.cpp * on_timing_button_clicked(){ hideInfoSignal(); } * infoWidget.cpp * hideInfo(){ this-> hide; } * mainWindow.cpp * connect(ui-> buttons、SIGNAL(hideinfoSignal)、ui-> info、SLOT(hideInfo)) – easty
素晴らしい!お役に立てて嬉しいです。 –
いいですね!しかし、あなたが知っているように、ドキュメンテーションはシグナルを出す前に、シグナルを呼び出す前にキーワード "emit"を置くべきだと言います。このように: "hideInfoSignal()を放出"。この記事では、emitとsignalを呼び出す方法の違いについて説明しました:http://stackoverflow.com/questions/10160476/using-emit-vs-calling-a-signal-as-if-its-a-regular-function -in-qt –