gpt4 book ai didi

c++ - 如何知道哪个 QLineEdit 在信号处理程序中发出了 editingFinished() ?

转载 作者:搜寻专家 更新时间:2023-10-31 00:46:32 26 4
gpt4 key购买 nike

我想为几个类似的 QLineEdit 对象实现对用户输入的自定义响应。我想创建一个 editingFinished()textChanged() 信号的通用处理程序,并将其分配给所有 QLineEdit。然而,响应需要信号发送者的知识——例如,它必须用不同的颜色突出显示输入的文本。

我如何知道它的处理程序中的信号发送者?

最佳答案

您可以通过调用 QObject::sender() 获取指向发件人的指针然后将此指针指向 QLineEdit。有点像

void MyClass::onTextChanged(const QString& text)
{
QLineEdit* edit = qobject_cast<QLineEdit*>(sender());
if (edit)
{
// Do something with QLineEdit
}
else
{
// Just to make sure that you have not make mistake with connecting signals
}
}

关于c++ - 如何知道哪个 QLineEdit 在信号处理程序中发出了 editingFinished() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025089/

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