c++ - Qt错误:expected primary-expression before ')' token

标签 c++ qt

我是 Qt 初学者,有一个问题: 我在使用 QTCreator(2,72) 的 C++ 中使用 QT(4.8.4)。 当我尝试编译我得到的程序时:

expected primary-expression before ')' token  on Line 26.

我的 main.cpp:程序的一部分/部分

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include "view.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{

ui->setupUi(this);
createActions();
createMenus();

//Fenster für Visualisierung
ui->dockWidget->setWidget(view); //ERROR Line 26
ui->dockWidget->setWindowTitle("Visualisierung");
ui->dockWidget->setGeometry(20,200,300,300);
}

我的 View .cpp:

#include "view.h"
#include <QtGui>
#include <GL/glu.h>
#include <QtOpenGL/QGLWidget>

extern QVector<QMatrix4x4> T_tracked_Point_Cam;
extern QVector<QMatrix4x4> T_approx_Point_Cam;

// Konstruktor
view::view(QWidget *parent) :
QGLWidget(QGLFormat(QGL::SampleBuffers), parent)
{
xRot = 0;
yRot = 0;
zRot = 0;
zoom = 0;
virtuellerAbstand = 0;
xT = 0;
yT = 0;
trackPoint = false;
laserPoint = false;
laserOrients = false;
gitterPoint = true;
Cam_Koo_Trans_X = 0;
Cam_Koo_Trans_Y = 0;
Cam_Koo_Trans_Z = 0;
}

// Destruktor
view::~view()
{}

主要.h:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include <QMessageBox>

namespace Ui {

class MainWindow;
}

class MainWindow : public QMainWindow

{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();

private slots:
void openDCMFile();
void drawDICOMImg(std::string fileDICOM);

private:
Ui::MainWindow *ui;
void createActions();
void createMenus();

    QMenu *fileMenu;
    QAction *openAct;

signals:
    void AnzeigeGetracktePunkte(bool);
    void AnzeigeLaserPunkte(bool);
    void AnzeigeLaserOrients(bool);
    void AnzeigeGitterPunkte(bool);
    void update_view();
 };

#endif // MAINWINDOW_H

vieh.h:

#ifndef VIEW_H
#define VIEW_H

#include <QtOpenGL/QGLWidget>
class view : public QGLWidget
{
Q_OBJECT
public:
view(QWidget *parent = 0);
~view();

QSize minimumSizeHint() const;
QSize sizeHint() const;

double x_max, y_max, z_max;
double x_min, y_min, z_min;

void Zeichnen_getrackte_Punkte();
void Zeichnen_Laserpunkte();
void Zeichnen_Laserorients();

signals:

public slots:
....
protected:
.....
private:
.....  
 };

#endif // VIEW_H

提前感谢您的帮助。

最佳答案

view 只是一种类型的名称。您可能想传递它的一个实例:

ui->dockWidget->setWidget(view());
//                            ^^

关于c++ - Qt错误:expected primary-expression before ')' token,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18187562/

相关文章:

c++ - 如何在不出现 C2227 错误的情况下调用此方法?

c++ - qss中设置QTreeView选中项样式

c++ - 如何找到 map 的中间元素?? STL

c++ - 如何在opencv中找到单个图像关键点之间的欧氏距离

c++ - 'sizeof' 对不完整类型 'QImage' 的无效应用

c++ - 使用 connect 方法连接到插槽

qt - Qt中窗口相对于屏幕的位置以及窗口的宽度和高度

c++ - 如何让QtCreator中的应用程序使用KDE oxygen主题?

C++ 光线追踪器错误

c++ - 如何使用不同的 IDE 在不同的目录中 #include 文件?