是否有可能跟踪如果QLineEdit被点击
Is it possible to track if QLineEdit was clicked on?
文档是怎么说的
QPushButton
有一个clicked()
信号所以我们可以这样做
connect(ui->Btn,SIGNAL(clicked()),this,SLOT(DoSmth()));
QLineEdit
有一个textEdited()
信号,允许跟踪编辑动作。
我想达到的目标
我试图运行一个功能时,QLineEdit
刚刚被点击,没有编辑。这可能吗?
您可以子类化QLineEdit并重新实现QWidget::focusInEvent,在那里您可以检查焦点的原因是否为鼠标单击。然后使用这个子类代替QLineEdit。你也可以创建一个自定义信号,并从这个事件处理程序中发出它,以便能够通过signal/slots使用它。
#include <QLineEdit>
#include <QFocusEvent>
class FocusHandlerLineEdit : public QLineEdit
{
Q_OBJECT
protected:
void focusInEvent(QFocusEvent * event) {
QLineEdit::focusInEvent(event);
if(event->reason() == Qt::MouseFocusReason)
emit gotFocus();
}
signals:
void gotFocus();
};
相关文章:
- 如果没有malloc,链表实现将失败
- 如果我只是不访问queue_front节点的子节点,而是将它们推到队列中呢?还是BFS吗
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 设计一个只能由特定类实例化的类(如果可能的话,通过make_unique)
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 如果我std::dynamic_pointer_cast并且底层dynamic_cast的结果为null,那么返回的sh
- C++擦除(如果存在)
- 如果"new int"返回"int*",那么为什么"new int[n]"不返回"int**"?
- 在'如果'陈述输出如何正确
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- Qt和C++:将QLineEdit添加到QTabWidget中
- 如果基类包含双指针成员,则派生类的构造函数
- 如果不是十六进制,则QT从qlineedit中删除字符
- QLineEdit:如果鼠标悬停,则显示超长文本作为工具提示
- 我可以做一个事件,如果有人在QLineEdit内双击
- 是否有可能跟踪如果QLineEdit被点击