Соединение Qt QTableWidget и QGLWidget

Я новичок в Qt, и у меня есть задача. Я создал QGLWidget и пытаюсь связать его с QTablewidget. Я хочу взять переменную из QTableWidget, которую я хочу использовать для построения графика в QGLWidget. Проблема в том, что есть два класса, один для QGLWidget и один для пользовательского интерфейса (QDialog, в который включен QTableWidget), и я не знаю, как получать данные от QTableWidget. Могу ли я использовать сигнал и слот, или у меня может быть доступ к пользовательскому интерфейсу из QGLWidget, и как я могу это сделать? Буду признателен за любые мысли.


person George    schedule 08.11.2014    source источник


Ответы (1)


Вы можете сделать это без сигнала и слота. Используйте сеттер, вы можете установить различные типы переменных и использовать их внутри GLWidget:

#ifndef GLWIDGET_H
#define GLWIDGET_H

#include <QGLWidget>
#include <QDebug>

class GLWidget : public QGLWidget

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

    void setValue(int i);

signals:

public slots:

private:
    int member;

};

#endif // GLWIDGET_H

Цена за человека:

#include "glwidget.h"

GLWidget::GLWidget(QWidget *parent) :
    QGLWidget
    (parent)
{
}

void GLWidget::setValue(int i)
{
    member = i;
    qDebug() << i;
}

Использование:

void MainWindow::on_tableWidget_clicked(const QModelIndex &index)
{

    GLWidget *wgt = new GLWidget;
    wgt->setValue(index.data().toInt());
    wgt->show();
}
person Kosovan    schedule 08.11.2014