【发布时间】:2019-09-07 10:07:41
【问题描述】:
我在我的小部件中添加了一个 QPushButton 并将其设置为可检查。 并在其插槽功能中添加一些代码,如下所示。 如果我用鼠标单击此按钮 1,一切正常。 但是,如果我通过以下方式将其与信号连接:
connect(ui->button2,SIGNAL(clicked(bool)),this,SLOT(on_button1_clicked(bool)));
然后用鼠标点击button2, on_button1_clicked(bool checked) 执行了,但是 button1 背景颜色没有改变。
有人给点建议吗?
void MainWindow::on_button1_clicked(bool checked)
{
if(checked)
{
//some work here.....
ui->button1->setText(tr("on "));
//.......
}
else
{
//some work here.......
ui->button1->setText(tr("off "));
//......
}
}
【问题讨论】:
-
你打电话给
ui->button2->setCheckable(true);了吗? -
是的。我愿意。我调用 ui->button2->setCheckable(true);在构造函数中。
-
“背景颜色不变”是什么意思?你想让 button1 看起来像是被按下了吗?
-
是的。它是。 qt Designer 将 button1 和 button2 都设置为可检查。当我按下它时,它的背景颜色会自动改变。