- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想为几个类似的 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/
我有一个 QTreeWidget,里面有一些项目。但是,由于我的数据结构,我需要让 QTreeWidget(或 QTreeWidgetItem)在有人完成编辑时告诉我。 我已经有了 QTreeWidg
我想为几个类似的 QLineEdit 对象实现对用户输入的自定义响应。我想创建一个 editingFinished() 或 textChanged() 信号的通用处理程序,并将其分配给所有 QLine
我试图理解为什么在选择其他小部件时会生成 QLineEdit“editingFinished”信号。在下面的示例中,选择组合框时将调用“on_lineedit”方法。为什么? import sys f
from PySide2 import QtWidgets class Widget(QtWidgets.QWidget): def __init__(self, parent=None):
我正在使用 QLineEdit 的 editingFinished() 信号来执行操作。文档说,当按下回车键或回车键或失去焦点时,将发出此信号。 它与 numlock(Windows 键盘)上的 en
我是一名优秀的程序员,十分优秀!