gpt4 book ai didi

c++ - QT - 检测按下了哪个按钮

转载 作者:行者123 更新时间:2023-11-28 04:41:50 24 4
gpt4 key购买 nike

我对 Application::sender 的使用有疑问。我有几个 QPushButtons,在一个函数中,我想检测按下了哪个按钮。

我知道使用 Application::sender 可能是解决方案,但我遇到了麻烦。即我得到两个错误:

  • 调用不带对象参数的非静态成员函数
  • 'sender' 是 'QObject' 的 protected 成员

这是我的代码:

void MainWindow::on_button_click()
{
unsigned long i=0;
for(; i<buttons.size(); ++i)
{
if(buttons[i] == QApplication::sender())
break;
}
if(checks[i]->checkState() == false)
buttons[i]->setText("Undone");
else
buttons[i]->setText("Done!");
}

其中变量 buttonsQPushButton *vector

最佳答案

调用你的slot所在对象的sender()方法,而不是QApplication的静态成员。

换句话说,删除 QApplication::并且您的代码应该按预期工作。

关于c++ - QT - 检测按下了哪个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50029175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com