我是编程新手。我从 Git hub 下载了 Qt 项目存储库,并尝试在我的 Ubuntu 14.04 上构建它。当我尝试编译它时,我遇到了一些错误。我使用的是 Qt5,项目文件至少有 5 年历史。 代码如下,
#include <QtGui>
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QDialog(parent)
{
showMaximized();
A = new FiniteElements;
B = new QwtBeginner;
browseButton = createButton(tr("&Open"), SLOT(browse()));
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(B, 0, 0);
mainLayout->addWidget(browseButton, 0, 1);
setLayout(mainLayout);
setWindowTitle(tr("L4V14_oapsois by Mikhail Krishtop"));
}
void MainWindow::browse()
{
QString filepath = QFileDialog::getOpenFileName(this,tr("Select input datafile"),QDir::currentPath());
if (!filepath.isEmpty()) {
std::string str = std::string(filepath.toAscii().data());
const char * stuff = str.c_str();
A->SetFN(stuff);
A->evaluate();
B->eval(A->GetXArray(),A->GetYArray(),A->GetN(),A->GetTriangles(),stuff,
A->GetTArray(),A->GetX(),A->GetY(),A->GetResultTemp());
}
}
QPushButton *MainWindow::createButton(const QString &text, const char *member)
{
QPushButton *button = new QPushButton(text);
connect(button, SIGNAL(clicked()), this, member);
return button;
}
我收到以下错误,
错误:QGridLayout 未在此空间中声明
错误:QFileDialog尚未声明
错误:无效使用不完整类型“class QPushButton”
有人可以帮助我吗? ^
最佳答案
尝试包含缺少的 header
#include <QGridLayout>
#include <QFileDialog>
#include <QPushButton>
关于c++ - C++ Qt 创建者项目中的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39334315/