我正在使用Qt add for visual studio。现在我使用Qt设计器创建了一个简单的按钮,我想使用该按钮,以便在按下时运行具有某个输入参数的函数,然后显示该函数打印的结果。
我想要运行的函数使用eigen
库,因此需要#include <Eigen/Dense>
,并且应按如下方式调用:
void coef(Eigen::Matrix<long double, Dynamic, Dynamic> vector, Eigen::Matrix<long double, Dynamic, Dynamic> Matrix)
在Qt设计器中创建了按钮后,它自动将一些代码添加到我的头文件中。 现在我将此头文件调整为以下内容:
#ifndef QTDEMO_H
#define QTDEMO_H
#include <QtWidgets/QMainWindow>
#include "ui_qtdemo.h"
class qtdemo : public QMainWindow
{
Q_OBJECT
public:
qtdemo(QWidget *parent = 0);
~qtdemo();
private:
Ui::qtdemoClass ui;
// begin new code
public slots:
void on_btnHello_clicked() {
ui.btnHello->coef(v, A); // v and A are defined in main.cpp, so not in this header file
}
// end new code
};
#endif // QTDEMO_H
我知道这当然行不通,因为
但是,我对使用头文件没有经验,所以我不知道如何使其工作。有人可以帮忙吗?提前谢谢。
答案 0 :(得分:2)
您需要执行以下操作:
1)此文件中的#include <Eigen/Dense>
。
2)ui.btnHello->coef(v, A);
- &gt; coef(v, A);
3)将v
和A
作为const成员变量移动到此类中,或者将它们设置为静态。虽然,最好将实现移动到qtdemo.cpp源文件中,并将声明留在标题中。