QObject::connect: No such slot MainWindow::indata()
-
This is my program foe simple client side receiver
here signal slot error coming out
QObject::connect: No such slot MainWindow::indata()Folowing main cpp prgram
**#include "mainwindow.h"
#include<stdlib.h>
#include "QTime"
#include "QTimer"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
// QTimer *timer = new QTimer(this);
clientsocket=new QTcpSocket(this);
clientsocket->connectToHost("127.0.0.1",2555,QIODevice::ReadWrite);
if (clientsocket->waitForConnected(300000))
{
ui->textEdit->setText("Connected to Server");
clientsocket->write("server\r\n\r\n\r\n\r\n");
clientsocket->waitForBytesWritten(1000);} else { ui->textEdit->setText("Server Offline"); clientsocket->disconnectFromHost(); clientsocket->close(); } connect(clientsocket,SIGNAL(readyRead()),this,SLOT(indata())); connect(clientsocket,SIGNAL(disconnected()),this,SLOT(lineStatus()));
}
MainWindow::~MainWindow()
{
delete ui;
}void MainWindow::lineStatus()
{
ui->textEdit->setText("Server Disconnected");
}void MainWindow::indata()
{
QByteArray array;qDebug() << "Reading: " << clientsocket->bytesAvailable(); qDebug() <<"sec"<< clientsocket->readAll(); array=clientsocket->readAll(); char* buffer = array.data(); ui->textEdit_3->setText(buffer);
QByteArray ba_as_hex_string = array.toHex();
qDebug()<<ba_as_hex_string;
}
void MainWindow::on_pushButton_2_clicked()
{
QString data;
data=ui->textEdit_2->toPlainText();
QByteArray abc;
abc=data.toUtf8();
// qDebug()<<abc;
clientsocket->write(abc);
clientsocket->flush();}**
Header file
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include<QTcpSocket>
#include<QTcpServer>
#include<QString>
#include<QtNetwork>
#include <QIODevice>
#include<QAbstractSocket>
#include <QObject>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{
Q_OBJECTpublic:
MainWindow(QWidget *parent = nullptr);
~MainWindow();QTcpSocket *clientsocket; void indata(); void lineStatus();
private slots:
void on_pushButton_2_clicked();private:
Ui::MainWindow *ui;};
#endif // MAINWINDOW_H -
@mganesh said in QObject::connect: No such slot MainWindow::indata():
void indata();
This needs to be in slots: part of your class to be a slot...