Ich bin neu in Qt. Ich versuche ein wirklich einfaches Taschenrechnerprogramm zu implementieren. Ich versuche nur, einen Knopf zu setzen, und wenn er geklickt hat, möchte ich, dass er "Hallo, Welt!" zur nächsten ZeileBearbeiten. Es funktioniert gut, wenn ich nur eine Schaltfläche habe, aber wenn ich die zweite hinzufüge, kompiliert es nicht. Und da ich einen Taschenrechner programmiert habe, brauche ich diese Knöpfe.Qt-Code kompiliert nicht, wenn ich versuche, ein Signal an einen Steckplatz anzuschließen
Hier sind die Fehler:
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.o:-1: In function `ZN10MainWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv':
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.cpp:75: error: undefined reference to `MainWindow::on_pushButton_clicked()'
C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.cpp:76: error: undefined reference to `MainWindow::on_pushButton_2_clicked()'
hier ist die MainWindow
Methode:
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
MainWindow *_t = static_cast<MainWindow *>(_o);
switch (_id) {
case 0: _t->on_pushButton_clicked(); break;
case 1: _t->on_pushButton_2_clicked(); break;
case 2: _t->on_pushButton_11_clicked(); break;
default: ;
}
}
Q_UNUSED(_a);
}
und hier ist, wie ich die Verbindung herzustellen:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
// this is the problematic part
void MainWindow::on_pushButton_11_clicked()
{
ui->lineEdit->setText("Hello, World!");
}
Wer weiß, wie dies zu beheben ? Vielen Dank für Ihre Zeit.
ah, danke! Ich dachte, wenn ich eine alte Verbindung lösche, löscht Qt Creator auch den Code. Anscheinend tut es das nicht. –
@ AtakanArıkan: Ja, wenn Sie sie nicht brauchen, löschen Sie einfach ihre Deklaration in der Kopfzeile und regenerieren die MOC-Datei. – lpapp