QEditLine 的子类,带有新的信号
Subclass of QEditLine with a new SIGNAL
我正在尝试对QEditLine进行子类化,以便我可以定义一个发送对象标识符的新SIGNAL。目前,我将父信号连接到新类中的一个插槽,并从该插槽发出带有附加对象标识符的正确新信号。我无法理解一件事。问题是我不知道如何定义一个新的信号函数本身。我不知道我应该放什么。我的意思是我知道它的参数,但我不知道它作为一个函数做了什么。我是第一次这样做,它可能看起来很愚蠢;p但我真的坚持在那里>.<。任何人都可以提供一些线索。这可能是一个非常简单的问题。
谢谢
// myqeditline.h
#ifndef MYQEDITLINE_H
#define MYQEDITLINE_H
#include <QWidget>
#include <QLineEdit>
#include <QString>
class MyQEditLine : public QLineEdit
{
Q_OBJECT
public:
explicit MyQEditLine(const QString& n, QWidget *parent = 0);
protected:
QString name;
signals:
void textChanged(QString textCHanged, QString sender);
protected slots:
public slots:
void myTextChanged(QString textChanged);
};
#endif // MYQEDITLINE_H
// myqeditline.cpp
#include "myqeditline.h"
MyQEditLine::MyQEditLine(const QString &n, QWidget *parent)
: QLineEdit(parent),name(n) {
connect(this,SIGNAL(textChanged(QString)),this,SLOT(myTextChanged(QString)));
}
void MyQEditLine::myTextChanged(QString textChanged) {
emit textChanged(QString textChanged, QString name);
}
我刚刚意识到我的问题的答案在这个Qt项目网站上,在第4段关于"信号"的部分。它说:"信号由moc自动生成,不得在.cpp文件中实现。它们永远不能有返回类型(即使用 void)。
相关文章:
- 继承期间显示未知行为的子类
- 通过指向指针数组的指针访问子类的属性
- 从父类方法返回子类对象
- c++, 在子类中,如何在没有对象的情况下访问父类的方法?
- 将父类对象强制转换为子类的问题
- 避免在C++中重复子类定义
- 将QOpenGLWidget子类转换为使用Metal而不是OpenGL的子类是否可行?
- 如何初始化矢量的模板化子类
- C++ 继承:将子类传递给需要基类的函数并获取子类行为
- 有没有办法按值将纯抽象类的所有子类传递给 C++ 中的函数?
- 使用子类覆盖基类中定义的函数
- 子类化模板类并连接到信号
- 来自子类 QGraphicsView 的信号在插槽中无法识别
- Qquickwindow子类,可见度和关闭信号
- QEditLine 的子类,带有新的信号
- 在子类中覆盖基类信号时连接到基类的信号
- Qt:继承的信号不能在子类中识别
- QListWidgetItem子类的itemdoubleclick信号
- Qt C++ : 使用信号/插槽链接QPushButton子类的多个实例
- 当子类化QTcpServer时,我如何延迟发出newConnection()信号?