Qt 如何点击一个按钮使得另一个界面的按钮隐藏
时间: 2023-09-10 21:05:11 浏览: 204
要实现这个功能,你需要在Qt中使用信号和槽机制。首先,在你想要隐藏按钮的界面中,将该按钮的指针保存下来。然后,在需要隐藏该按钮的界面中,通过信号槽机制将指针传递过去并调用该按钮的隐藏函数即可。
下面是一个示例代码:
在需要隐藏按钮的界面中定义一个槽函数,当信号被触发时会执行该槽函数:
```cpp
public slots:
void onHideButtonClicked() {
// 隐藏按钮
m_targetButton->hide();
}
```
在需要触发隐藏操作的界面中,定义一个信号并在按钮被点击时触发该信号:
```cpp
signals:
void hideButtonClicked();
private slots:
void onMyButtonClicked() {
// 触发信号
emit hideButtonClicked();
}
```
在需要触发隐藏操作的界面中,连接信号和槽:
```cpp
connect(m_myButton, &QPushButton::clicked, m_targetWindow, &TargetWindow::onHideButtonClicked);
```
上述代码中,`m_myButton`是需要点击的按钮,`m_targetWindow`是需要隐藏按钮的界面,`m_targetButton`是需要隐藏的按钮。在连接信号和槽时,我们将`m_myButton`的`clicked`信号连接到`m_targetWindow`的`onHideButtonClicked`槽函数上。
这样,当点击`m_myButton`时,就会触发`m_targetWindow`中的`onHideButtonClicked`槽函数,从而隐藏`m_targetButton`。
阅读全文