मुझे अपने क्यूटी कार्यक्रम में कनेक्टिंग बटन सिग्नल के साथ मेरे क्यूटी प्रोग्राम में कठिनाई हो रही है। MainWidget.hसी ++ क्यूटी सिग्नल और स्लॉट फायरिंग
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
class MainWidget : public QWidget
{
public:
MainWidget();
public slots:
void bAdvice_clicked();
void bWeather_clicked();
void bNextMeeting_clicked();
void bQuit_clicked();
};
#endif // MAINWIDGET_H
MainWidget.cpp
#include "MainWidget.h"
#include <QMessageBox>
#include <QPushButton>
#include <QTextEdit>
#include <QVBoxLayout>
MainWidget::MainWidget()
{
QLayout *layout = new QVBoxLayout();
this->setLayout(layout);
QTextEdit *message = new QTextEdit();
layout->addWidget(message);
QPushButton *bAdvice = new QPushButton("Advice");
connect(bAdvice, SIGNAL(clicked()), this, SLOT(bAdvice_clicked()));
layout->addWidget(bAdvice);
QPushButton *bWeather = new QPushButton("Weather");
connect(bWeather, SIGNAL(clicked()), this, SLOT(bWeather_clicked()));
layout->addWidget(bWeather);
QPushButton *bNextMeeting = new QPushButton("Next Meeting");
connect(bNextMeeting, SIGNAL(clicked()), this, SLOT(bNextMeeting_clicked()));
layout->addWidget(bNextMeeting);
QPushButton *bQuit = new QPushButton("Quit");
connect(bQuit, SIGNAL(clicked()), this, SLOT(bQuit_clicked()));
layout->addWidget(bQuit);
}
void MainWidget::bAdvice_clicked()
{
}
void MainWidget::bWeather_clicked()
{
}
void MainWidget::bNextMeeting_clicked()
{
QMessageBox::information(this, "Next Meeting", "Today", QMessageBox::Ok);
}
void MainWidget::bQuit_clicked()
{
this->close();
}
main.cpp
#include <QtGui/QApplication>
#include "MainWidget.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWidget mainWidget;
mainWidget.show();
return app.exec();
}
कार्यक्रम आउटपुट निम्नलिखित:: मेरे कोड है
Starting C:\Users\Sameer\Documents\PartAQuestion2\debug\PartAQuestion2.exe...
Object::connect: No such slot QWidget::bAdvice_clicked() in MainWidget.cpp:16
Object::connect: No such slot QWidget::bWeather_clicked() in MainWidget.cpp:20
Object::connect: No such slot QWidget::bNextMeeting_clicked() in MainWidget.cpp:24
Object::connect: No such slot QWidget::bQuit_clicked() in MainWidget.cpp:28
C:\Users\Sameer\Documents\PartAQuestion2\debug\PartAQuestion2.exe exited with code 0
कोड सही लगता है, कोई संकलक चेतावनी नहीं। रनटाइम पर बस यह आउटपुट। लेकिन ऐसा लगता है कि मैंने सिग्नल और स्लॉट सही तरीके से लगाए।
त्वरित प्रतिक्रिया के लिए धन्यवाद। लेकिन क्या आप कृपया अधिक विशिष्ट हो सकते हैं क्योंकि मैं इसके लिए बहुत नया हूं। मैंने खुले घुंघराले ब्रेसिज़ के तुरंत बाद Q_OBJECT जोड़ने के लिए अपना कोड बदल दिया है। अभी भी वही परिणाम। मैं क्यूटी निर्माता आईडीई का उपयोग कर रहा हूं। – c0d3L0g1c
Q_OBJECT जोड़ने के बाद क्या होता है? आप अपना कोड कैसे संकलित कर रहे हैं? –
मैंने खुले घुंघराले ब्रेसिज़ के तुरंत बाद Q_OBJECT जोड़ने के लिए अपना कोड बदल दिया है। अभी भी वही परिणाम। मैं क्यूटी निर्माता आईडीई का उपयोग कर रहा हूँ। – c0d3L0g1c