相关疑难解决方法(0)

Qt信号和槽的参数类型,const参考限定符是否重要?

适用于以下类型的信号和插槽

signals:
    void textChanged(const QString &);

public slots:
    void setText(const QString & text)
Run Code Online (Sandbox Code Playgroud)

textChanged和setText的参数类型似乎无法使用const&.与仅使用QString相比,常量和参考资格是否有任何区别?

QObject::connect(a,SIGNAL(textChanged(QString)),b,SLOT(setText(QString)));
QObject::connect(a,SIGNAL(textChanged(const QString &)),b,SLOT(setText(const QString &)));
Run Code Online (Sandbox Code Playgroud)

编辑:当SIGNAL或SLOT中使用不兼容的类型时,我没有注意到输出窗口显示错误消息.我认为信号槽机制能够在编译时检测参数类型错误.

connection qt types arguments signals-slots

21
推荐指数
1
解决办法
2万
查看次数

使用信号和插槽更新指针

我对Qt很新; 请帮我解决问题.

我正在使用一个线程在后台执行密集操作.同时我想更新UI,所以我使用SIGNALS和SLOTS.要更新UI,我会发出信号并更新UI.

让我们考虑下面的示例代码,

struct sample
{
    QString name;
    QString address;
};

void Update(sample *);

void sampleFunction()
{
    sample a;
    a.name = "Sachin Tendulkar";
    a.address = "India"
    emit Update(&a);
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我们创建了一个本地对象并传递了一个本地对象的地址.在Qt文档中,它表示当我们发出信号时,它将被放入队列中,并且迟到它将被传递到窗口.由于我的对象在本地范围内,因此一旦超出范围就会被删除.

有没有办法在信号中发送指针?

c++ qt signals-slots

2
推荐指数
1
解决办法
2704
查看次数

标签 统计

qt ×2

signals-slots ×2

arguments ×1

c++ ×1

connection ×1

types ×1