两个按钮互为不可点击 qt
时间: 2023-07-12 21:18:56 浏览: 78
在中,可以使用信号和槽机制来实现两个按钮互为不可点击的效果。具体步骤如下:
1. 在ui文件中,将两个按钮都设置为可点击状态。
2. 在代码中,为两个按钮分别创建一个槽函数,用于控制另一个按钮的可点击状态。例如,当按钮1被点击时,禁用按钮2;当按钮2被点击时,禁用按钮1。
3. 在构造函数中,将两个按钮的clicked信号连接到对应的槽函数。
示例代码如下:
```cpp
// 在头文件中声明两个按钮
private:
QPushButton *m_button1;
QPushButton *m_button2;
// 在构造函数中创建并初始化两个按钮,并连接信号和槽
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
m_button1 = new QPushButton("Button 1", this);
m_button2 = new QPushButton("Button 2", this);
connect(m_button1, &QPushButton::clicked, this, &MyWidget::disableButton2);
connect(m_button2, &QPushButton::clicked, this, &MyWidget::disableButton1);
}
// 槽函数1,禁用按钮2
void MyWidget::disableButton2()
{
m_button2->setEnabled(false);
}
// 槽函数2,禁用按钮1
void MyWidget::disableButton1()
{
m_button1->setEnabled(false);
}
```
这样,当一个按钮被点击时,另一个按钮就会变为不可点击状态,实现了两个按钮互为不可点击的效果。
阅读全文