- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Qt 的新手。我想创建一个简单的应用程序,其中有一个使用 OpenGL 生成的三角形和三个改变三角形颜色的按钮。不幸的是我得到一个错误:
E:\Programy\Qt\5.3\mingw482_32\include\QtOpenGL\qgl.h:457: error: 'QGLWidget::QGLWidget(const QGLWidget&)' is private Q_DISABLE_COPY(QGLWidget)
我不知道该怎么办。这是我的代码:
主窗口.h
class MainWindow : public QMainWindow
{
Q_OBJECT
QVBoxLayout *layout;
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QPushButton *redButton;
QPushButton *greenButton;
QPushButton *blueButton;
public slots:
void redSlot(Widget w);
void greenSlot(Widget w);
void blueSlot(Widget w);
};
MainWindow.cpp 中的插槽如下所示:
void MainWindow::redSlot(Widget w)
{
w.setColor(red);
}
小部件.h
class Widget : public QGLWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
QSize minimumSizeHint() const;
QSize sizeHint() const;
enum color c;
void setColor(enum color color1);
protected:
void initializeGL();
void paintGL();
void resizeGL(int width, int height);
};
枚举颜色只是在另一个头文件中声明的枚举
enum color
{
red,
green,
blue
};
最佳答案
您的插槽
void redSlot(Widget w);
void greenSlot(Widget w);
void blueSlot(Widget w);
都采用类型为 Widget
的参数。这会尝试在调用时创建对象的拷贝。您的 Widget
是 QGLWidget
的子类,它具有私有(private)复制构造函数,因此不能从子类对象调用。
如果您想更改现有对象的颜色而不是它的拷贝,您应该更改函数以获取该对象的指针:
void redSlot(Widget*);
void greenSlot(Widget*);
void blueSlot(Widget*);
void MainWindow::redSlot(Widget* w)
{
w->setColor(red);
}
关于c++ - Qt,使用OpenGL,QGLWidget是私有(private)的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645718/
我正在使用带有 PySide 绑定(bind)的 python 中的 Qt。我的应用程序的主要部分是可以调整到特定值的 OpenGL View (这是一个模拟器,用于在移动设备的不同分辨率下测试我的游
我是QT新手,有问题。我从http://qt.nokia.com/downloads/sdk-windows-cpp下载了用于开源C++开发的Qt SDK,并在PATH中添加了C:\QT\2010.0
我想在 QGLWidget 中显示 OptixSDK 的示例 6。 我的应用程序只有 3 个 QSlider 用于绕 X、Y、Z 轴和 QGLWidget 旋转。 据我了解,每当我的 QSlider
我正在 Qt 中制作一个 GUIon,我正在使用 QGLWidgt 来显示对象的运动。为了调试目的,我在矩阵上进行了硬编码以尝试显示茶壶,但屏幕上没有显示任何内容。我尝试了很多东西,我只是不知道出了什
基本上我想在 Text Edit 小部件上显示按下的按钮。 Key 事件适用于 GLWidget。如何与 GLWidget 中的 MainWindow 小部件进行交互?到目前为止,这是我的代码, 主窗
我基本上想做的是创建一个 QGLWidget 的实例(或者更确切地说是 QGLWidget 的派生类),将它添加到 QMainWindow ,然后从我的 QTCreator 程序中的任何地方访问 QG
我有一个 Qt 应用程序,它在 Mac OS 上使用 OpenGL 绘图和 QGLWidget。在我的 MBP 上运行良好,但在 30"屏幕上尝试时,我注意到存在窗口大小限制。 如果我将窗口大小增加到
我想编写一个单线程应用程序来显示两个 QGLWidget(一个用于 3D,一个用于 2D)。我试图找到有关同时显示的两个 QGLWidgets 的信息,但没有找到任何对我有帮助的信息。 现在,我认为我
我看了很多关于 OpenGL 不绘图、常见错误等的文章和 SO 问题。这个让我很困惑。 我已经为 glOrtho 尝试了几种不同的设置、不同的顶点位置、颜色等,但都无济于事。 我可以确认 OpenGL
我有小部件: class Main_Widget : public QWidget { Q_OBJECT public: explicit Main_Widget(QWidget *p
是否可以使用 Qt 在 QGLWidget 中完全脱离屏幕进行渲染,而无需将场景重新绘制到屏幕,从而避免缓冲区在监视器上完全翻转? 我需要保存在帧缓冲区上生成的每一帧,但是,由于序列由 4000 帧组
我是 OpenGL 和 Qt 的新手,我正在同时学习这两者(已经 3 天了:)。几年前,我用 DirectX 做了一些实验,我清楚地记得在那里制作全屏窗口是可能的。我所说的全屏是指真正的全屏,即使顶部
我正在上传大量纹理(每秒 60 个 VGA 图像)并且它阻塞了我的 UI 线程。来自 the Qt 5.1 QGLWidget manual page (强调我的): Texture uploadin
我正在使用 QGraphicsView显示 2D 图像并有一个单独的 QGLWidget窗口以显示一些 3D 对象。我正在根据 3D 对象的旋转动态更改“QGraphicsView”中显示的图像。 我
我有两个计时器来重新绘制 QGLWidget 并确定 FPS QObject::connect(&fpsTimer, SIGNAL(timeout()), this, SLOT(updateFps()
我有一种流媒体应用程序,它应该捕获窗口的内容。在窗口中,一个 QGLWidget 绘制了东西。目前我在每个绘制周期中都使用 widget.grabFrameBuffer(必须是实时的)。该应用使用 1
我有一个 QGLWidget,我在其中渲染一个动态网格。我想做的是录制我在此窗口中查看的视频。如果可能的话,我想使用 Qt 的低级多媒体库或高级 Phonon。 非常感谢您的想法! 最佳答案 在最新版
我想知道是否有比这更好的解决方案:我有一个渲染代码和一个颜色选择代码,我已经共享了这两个代码(VBO 等)之间可以共享的所有内容,我的代码看起来像: void paintGL() { label1:
我想使用 QGLWidget、QGraphicsScene 和 QGraphicsView 创建一个简单的缩略图查看器。我在将 QGLWidget 放在 QGraphicsScene 上时遇到问题。代
我一直在尝试在 QGLWidget 中渲染立方体,但结果是错误的。无论我如何旋转它,它看起来都像一个扁平的正方形。就像它没有注意到它顶点的 Z 坐标一样。就在我添加 GL_DEPTH_BUFFER_B
我是一名优秀的程序员,十分优秀!