Qt соединение QTableWidget и QGLWidget
Я новичок в Qt и у меня сложилось задание. Я создал QGLWidget и пытаюсь связать его с QTablewidget. Я хочу взять переменную из QTableWidget, которую я хочу использовать для построения графика в QGLWidget. Проблема в том, что есть два класса, один для QGLWidget и один для пользовательского интерфейса (QDialog, где включен QTableWidget), и я не знаю, как получить входные данные из QTableWidget. Могу ли я использовать сигнал и слот или у меня может быть доступ в пользовательском интерфейсе из QGLWidget и как я могу это сделать? Буду признателен за любые мысли.
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
Cpp:
#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();
}