【问题标题】: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();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-19
      • 2011-10-02
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多