我有兩個類。
第一類叫Widget
,有一個按鈕屬於它,第二類叫dialog
,還有一個屬於它的按鈕。
當點擊窗口小部件上的按鈕(Open Dialog
)時,會顯示屬於dialog class
的窗口對話框。當點擊按鈕隱藏另一個按鈕位於其他職業
我想要的是,當點擊屬於dialog class
按鈕隱藏屬於widget class
按鈕。
我試圖用正常的方式來做,但我失敗了。
void Dialog::on_doSomthing_btn_clicked(){
Widget *widget = new Widget;
QPushButton *btn = widget->findChild<QPushButton *>("OpenDialog_Btn");
btn->hide();
}
而且我已經使用了Signal & Slot
方式如下:
widget.h
private slots:
void hideButton();
widget.cpp
void Widget::hideButton(){
ui->OpenDialog_Btn->hide();
}
dialog.h:
signals:
void doHideButton();
dialog.cpp:
void Dialog::on_doSomthing_btn_clicked(){
Widget *widget = new Widget;
connect(this, SIGNAL(doHideButton()), widget, SLOT(hideButton()));
emit doHideButton();
this->close();
}
怎麼做,或有什麼問題在我的代碼?
我已經使用指針的方式,仍然不工作,再次看到我的代碼,我已經更新了我的問題。 – 2014-10-04 05:29:11
您正在製作一個'Widget'的新實例。您應該有一個指向打開對話框的現有對象的指針。 – Nejat 2014-10-04 05:34:00
你能舉個例子嗎? – 2014-10-04 05:43:02