Witam ponownie,
tak jak napisałem wcześniej, mam problem z połączeniem dwóch klas MainWindow i glwdget.
Kod:
glwidget.h
#ifndef GLWIDGET_H
#define GLWIDGET_H
#include <QGLWidget>
class GLWidget : public QGLWidget
{
public:
GLWidget(QWidget *parent );
void initializeGL();
void paintGL();
void resizeGL(int w, int h);
private:
int xy2;
};
#endif // GLWIDGET_H
glwidget.cpp
#include "glwidget.h"
#include <GL/glut.h>
GLWidget::GLWidget(QWidget * parent)
{
}
void GLWidget::initializeGL()
{
glClearColor(0 , 0 , 0 , 0);
}
void GLWidget::paintGL()
{ glClear(GL_COLOR_BUFFER_BIT);
glBegin( GL_POLYGON );
glColor3f( 1.0, 0.0, 0.0 );
glVertex3f( 0.0, 0.0, 0.0 );
glVertex3f( 0.0, 1.0, 0.0 );
glVertex3f( 1.0, 1.0, 0.0 );
glVertex3f( 1.0, 0.0, 0.0 );
glEnd();
glViewport(-150,-150 ,300,300);
}
void GLWidget::resizeGL(int w, int h)
{
}
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();
int xy;
private:
Ui::MainWindow *ui;
public slots:
void down();
void up();
};
#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "glwidget.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(down()));
connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(up()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::up()
{
}
void MainWindow::down()
{
}
Main
#include <QtGui/QApplication>
#include "mainwindow.h"
#include <GL/glut.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
Chciałbym aby klasa glwidget pobierała wartość do zmiennej xy2 z klasy mainwindow z zmiennej xy. Próbowałem to jakoś zrobić dziedziczeniem itp. Ale coś mi nie idzie, bo w logu programu wywala błędy:
błąd:C2385: ambiguous access of 'setObjectName'could be the 'setObjectName' in base 'QObject'or could be the 'setObjectName' in base 'QObject'
O co chodzi?
Z góry dziękuje za pomoc!