gpt4 book ai didi

c++ - 将 focusOutEvent 的函数分配给小部件

转载 作者:行者123 更新时间:2023-11-28 07:30:55 25 4
gpt4 key购买 nike

我想在 lineedit1 失去焦点后做一些具体的事情。这是应用程序的代码片段:

QFocusEvent* focuslost = new QFocusEvent(QEvent::FocusOut);
void lineedit1::focusOutEvent(focuslost) {
//do something
}

但它给了我编译器错误:

error: name followed by "::" must be a class or namespace name

我该怎么做才能实现这样的功能?

最佳答案

你不能只覆盖一个对象实例的方法,你需要创建一个继承自QLineEdit的新类并覆盖方法focusOutEvent:

mylineedit.h

class MyLineEdit : public QLineEdit
{
protected:
void focusOutEvent(QFocusEvent * e) override;
}

mylineedit.cpp

void MyLineEdit::focusOutEvent(QFocusEvent * e)
{
// your code here

QLineEdit::focusOutEvent(e);
}

然后将lineedit1声明为MyLineEdit* lineedit1

关于c++ - 将 focusOutEvent 的函数分配给小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17743189/

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