【问题标题】:Qt connection QTableWidget and QGLWidgetQt连接QTableWidget和QGLWidget
【发布时间】:2014-11-08 11:26:58
【问题描述】:
我是 Qt 的新手,我正在处理一项任务。我创建了一个 QGLWidget 并尝试将它与 QTablewidget 连接起来。我想从 QTableWidget 中获取一个变量,以便在 QGLWidget 中绘图。问题是有两个类,一个用于 QGLWidget,一个用于 ui(包含 QTableWidget 的 QDialog),我不知道如何从 QTableWidget 获取输入。我可以使用信号和插槽,或者我可以从 QGLWidget 访问 ui,我该怎么做?如有任何想法,我将不胜感激。
【问题讨论】:
标签:
c++
qt
user-interface
qtablewidget
qglwidget
【解决方案1】:
您可以在没有信号和插槽的情况下执行此操作。使用setter,可以设置不同类型的变量,在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();
}