Я новичок в программировании с Qt. Я пытаюсь сделать простое вычитание некоторых значений, полученных от виджета epicsQt под названием QELabel, который просто считывает значение канала EPICS. Я хочу вычесть значения из двух QELabels и распечатать их в другой QELabel. Но, я получаю «неопределенные ссылки на» ошибки для них ->(эпос) QT ошибка компиляции: «неопределенная ссылка на»
MainWindow::on_qeLabel_dbValueChanged(QString const&)
MainWindow::on_ShutterOpen_dbValueChanged(QString const&)
Вот это немного mainwindow.cpp (я последовал примеру из этого youtube video, особенно после того, как о 15-й минуте)
void MainWindow::on_TopShutter_dbValueChanged(const QString &out)
{
double top,bottom,open;
top=ui->TopShutter->text().toDouble();
bottom=ui->BottomShutter->text().toDouble();
open=top-bottom
ui->ShutterOpen->setText(Qstring::number(open));
}
Я использую QtCreator, так что я не обычные ошибки, которые я видеть в других форумах. У меня есть слот, объявленный в заголовочном файле, и MainWindow устанавливается как Q_OBJECT (это весь файл 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 slots:
void on_qelabel_dbValueChanged(const QString &out);
void on_ShutterOpen_dbValueChanged(const QString &out);
void on_TopShutter_dbValueChanged(const QString &out);
private:
Ui::MainWindow *ui;
};
#endif //MAINWINDOW_H
Поскольку они короткие, и для полноты картины, вот main.cpp, а затем .pro
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
и FirstWeatherAlarm.pro:
#-------------------------------------------------
QT += core gui xml
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = FirstWeatherAlarm
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
LIBS += -L/usr/lib64/qt5/plugins/designer -lQEPlugin
INCLUDEPATH += /home/jchavez/epicsqt/3.1.0/framework/include
HEADERS += mainwindow.h
FORMS += mainwindow.ui
у меня есть все объявлены в самом начале всех файлов? Что не хватает, чтобы мои слоты были неправильными? Я создал слот в gui, используя «правый щелчок» на моем QELabel и выбрав «Go to Slot», поэтому я думаю, что все форматирование будет правильным. Поскольку я редактировал, я также запускал qmake
и make clean
, которые являются другими ответами, которые я видел на форумах. Но ничего не работает.