Ich würde mich freuen, wenn Sie mir ein wenig helfen könnten. So, wie es im Thema ist, habe ich Fehler beim Versuch, Q_OBJECT :: connect zu tun. So ist mein Code: preferences.h:Kein solcher Slot MainWindow :: showPreferencesWindow()
#include <QDialog>
#include <QApplication>
#include <QCoreApplication>
namespace Ui {
class Preferences;
}
class Preferences : public QDialog
{
Q_OBJECT
public:
explicit Preferences(QWidget *parent = 0);
~Preferences();
private:
Ui::Preferences *ui;
};
preferences.cpp:
#include "preferences.h"
#include "ui_preferences.h"
Preferences::Preferences(QWidget *parent) :
QDialog(parent),
ui(new Ui::Preferences)
{
ui->setupUi(this);
}
Preferences::~Preferences()
{
delete ui;
}
mainwindow.h:
#include "preferences.h"
#include "addkierowca.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
Preferences *PreferencesWindow;
private:
/* some private methods */
void showPreferencesWindow();
Und last but not least mainwindow.cpp:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->actionUstawiania, SIGNAL(triggered()), this, SLOT(showPreferencesWindow()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showPreferencesWindow()
{
PreferencesWindow = new Preferences(this);
PreferencesWindow->show();
PreferencesWindow->exec();
}
Ich konnte niemanden irgendwo finden, und ich weiß, dass es fast dieselben Themen gibt, aber keiner von ihnen hat mir geholfen. Danke in Beratung.
Haben Sie versucht, den Slot unter 'slots:' zu deklarieren? Warum benutzen Leute immer noch die alte Verbindungssyntax nach 6 Jahren von Qt 5? – LogicStuff