我正在尝试为恶作剧制作一个虚假的FBI程序,但这并不像我预期的那么容易。 这是我的代码。
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->trackConnButton->setEnabled(false);
}
void MainWindow::on_confirmButton_clicked() {
if (ui->usernameText == "name" && ui->passwordText == "password") {
ui->resullabel->setText("Password accepted.");
ui->trackConnButton->setEnabled(true);
} else {
ui->resullabel->setText("Password denied.");
}
}
MainWindow::~MainWindow()
{
delete ui;
}
我收到此错误:
D:\Qt-Projekte\test3\mainwindow.cpp:12: Fehler: no 'void MainWindow::on_confirmButton_clicked()' member function declared in class 'MainWindow'
void MainWindow::on_confirmButton_clicked() {
^
我现在的问题是:如何解决? 提前谢谢。
my mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
答案 0 :(得分:0)
类的所有成员函数必须包含“声明”和“定义”。
例如:
struct Foo {
// Declarations
void foo() const;
int bar(int x);
};
// Definitions
void Foo::foo() const {
std::cout << "foo" << std::endl;
}
int Foo::bar(int x) {
return x + 1;
}
(注意,如果在类中定义内联函数,它将同时作为定义和声明):
struct Foo {
// Declaration AND definition
void foo() const {
std::cout << "foo inline" << std::endl;
}
};
因此,在您的情况下,您必须在类on_confirmButton_clicked
的定义中声明MainWindow
函数。