2014-11-08 3 views
0

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

ответ

0

Вы можете сделать это без сигнала и слота. Используйте сеттера, вы можете установить различные типы переменных и использовать его внутри 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(); 
} 
Смежные вопросы