C++ Qt 插槽错误

标签 c++ qt user-interface

我正在使用 C++ 和 Qt 制作一个单词复制器。我这样做是为了测试,所以不要讨厌! 我当前的代码,用于在单击按钮时发出信号

void MainWindow::on_pushButton_clicked() {

QObject::connect(ui->pushButton, SIGNAL(clicked()), ui->textEdit, SLOT(setText(ui->lineEdit->text())));
}

我希望 textEdit 将其文本更改为 lineEdit * spinbox->value() 中的任何内容,我有以下内容

#include "ui_mainwindow.h"
#include <QtCore>
#include <QtGui>
#include <string>

这是我在 Debug模式下运行它时出现的错误

QObject::connect: No such slot QTextEdit::setText(ui->lineEdit->text()) in ..\wordX\mainwindow.cpp:22
QObject::connect:  (sender name:   'pushButton')
QObject::connect:  (receiver name: 'textEdit')

最佳答案

为什么你要尝试在那里建立连接,并且对于正确的连接语句,你无论如何都不传递值,你只需要指定类型,这意味着你无法连接采用 QString 的插槽单击信号的参数(因为该信号不传递任何参数)。

现在,如果我没有错过任何内容,您甚至不需要该连接,只需在那里设置文本即可,该插槽是 auto-connectedpushButton 的单击信号,因此只要单击该按钮,它就会执行:

void MainWindow::on_pushButton_clicked() {
//just set the text here
    ui->textEdit->setText(ui->lineEdit->text());
}

documentation 中了解有关信号和槽的更多信息如果有些事情不清楚,请询问。

关于C++ Qt 插槽错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17890252/

相关文章:

python - 创建持久数据供Python App访问

c++ - 使用 WIC 高效编码多个图像

c# - 如何在 C# 中将 DLLImport 与结构作为参数一起使用?

c++ - Qt,库函数调用给出 Unresolved external symbol 错误

c++ - qt |是否可以同时使用声明性和快速模块

c# - 如何在 Canvas 上快速重画。 C# WINFORM

c++ - C++ 游戏设计

c++ - 运行时分析单个 for 循环,其中 i 不递增 1

qt - 使用 OpenGL 将图像渲染到子类 QDeclarativeItem

objective-c - cocoa 将窗口放在前台