- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
QT 文档说,从 qt5 开始,您应该使用 QOpenGL* 类而不是 QGL*。
问题是没有 QGLWidget 替代品。我发现您应该将 QWindow 与 QOpenGLContext 结合使用并调用 setSurfaceType( OpenGLSurface );。
唯一的问题是 QWindow 不能将 QWidget 作为父级。那么我怎样才能嵌入一个 QWindow 又名。我的 OpenGL 绘图表面到其他小部件中?
最佳答案
QT 5.1 在 OpenGL 和 QWidget(及其派生)方面处于一种奇怪的情况。没有 QGLWidget
替代品,但所有其他 QGL 类都有明确的替代品。
如果您不想使用旧的QGLWidget
,您确实必须自己制造一个QWindow
的替代品。因此,首先设置您的 QWindow,然后,正如您正确所说,在调用 create();
之前调用 setSurfaceType( OpenGLSurface );
。然后,您创建一个新的QOpenGLContext
并使用其makeCurrent()
函数并传递您的QWindow
。然后,您使用 QWidget::createWindowContainer(window);
从 QWindow
创建一个 QWidget
但这只是一个临时技巧,除非您确实想将 QtQuick 与 QWidget 混合使用,否则您不必使用它。然后,您可以将此临时 hack 替换为 5.2.0 5.4.0 中的实际替换。叫QOpenGLWidget
关于qt - QWindow如何替代QGLWidget?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17983107/
我一直在努力解决我的问题,但到目前为止我还没有找到解决方案 我有一个 QT 应用程序,现在我需要在其中添加一个 QWindow 以使用 opengl 进行绘图。 我知道我需要调用 QWidget::c
我试图隐藏 QWindow 对象的栏,但它不起作用。目的是在 MDI 区域中的 QWindows 对象上显示来自 Ogre3D 的场景。 这是主窗口中的代码: ui->setupUi(this); Q
如果构造函数中的某些条件为真,我需要在构造函数完成后立即销毁派生自 QWindow 的对象。 我想在构造函数中设置成员变量并在窗口初始化函数中检查。但是我不知道哪个函数或信号适合这个。 最佳答案 您可
我在 OpenGL 中使用 QWindow(不是 QMainWindow)。我需要使用 QWindow 来正确控制 OGL 上下文。 我正在尝试关注 Scribble例如实现类似于平移的东西,但我找不
当我在其他机器上运行我的应用程序时,如果我重命名 Qt 目录,我会收到“此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。重新安装应用程序可能会解决此问题问题。”这是包含应用
我有一些使用 Qt 4 的代码。我想将它迁移到 Qt 5 并切换到 QOpenGL 的东西。我无法理解 void paintGL() 和 void initializeGL() 中的代码需要放在 QW
我知道有人问过这个问题 here , 但它不起作用... 这是我的问题:我的程序实际上有 2 种形式:LoginWindow 和 MainWindow,程序从 LoginWindow 开始,然后我调用
我正在测试我下载的一个项目,它没有“mainwindow.ui”,但主窗口是以编程方式创建的,而是继承了 QWindow。 OpenGLWindow::OpenGLWindow(QScreen* sc
我正在使用 Qt 制作游戏,并且正在制作自定义游戏循环,以便我可以精确控制逻辑时间步长并以最大帧速率进行渲染。 通常,要创建一个QWindow,您会这样做: ... QGuiApplication a
我的 Qt 5.9 程序(在 X11 Linux 上)使用 QProcess 启动其他应用程序。我想控制这些应用程序产生的窗口,所以我获取了它们的 winId 值并使用 QWindow::fromWi
我尝试用 OpenGL 实现一个应用程序,因此,如以下示例所示,我使用 QWindow 来创建 OpenGL 上下文。 http://doc.qt.io/qt-5/qtgui-openglwindow
我正在尝试配置 OptiX 3.0.1 SDK 中捆绑的示例之一以显示在 Qt Widget 中。 该示例当前呈现到过剩窗口并使用 glViewport。有没有办法可以将过剩窗口更改为 Qt 小部件或
对于非常熟悉 C# 或 VB.NET 使用 .NET Framework(我认为是 HitTest 门的框架)中的 UserControl 组件的人,您习惯于添加几个按钮预览不同的用户控件如下: 1)
我正在尝试使用 QWindow 在 Qt 5.2 中编写一个简单的 OpenGL 应用程序。我似乎无法启用深度测试。我简化了 QWindow OpenGL example heavy:我正在绘制一个带
我正在编写一个简单的程序(C++、QT、QML),我想在其中实现resizeEvent 然后使用某种模式调整窗口的高度和宽度。我的问题是,当我调整窗口大小时,resizeEvent 没有被调用。我认为
我在 qtcreator 中创建了一个 MainWindow : public QMainWindow 和一个 qtquick ui 文件(用于工具箱)。我希望工具箱在主窗口中显示为 float 子窗
我知道如何使 QWidget(在 Qt4 或 Qt5 中)/QWindow(自 Qt5 起)无边框,绘制自定义标题栏并手动实现鼠标拖动以通过简单地跟踪鼠标位置来在屏幕上移动窗口 mouseMoveEv
我正在迈出使用 Qt 的第一步。作为练习,我正在为一个多核处理器编写一个 GUI,各个内核显示在一个单独的窗口中。从这个窗口来看,可能有几个副本,它们有独立的生命,包括菜单、状态行等。也就是说,它们本
我一直在谷歌上搜索这个问题的解决方案,虽然我发现很多人都在分享我的问题,但他们的解决方案都不适合我。 我使用 Visual Studio 2010 使用 Qt 框架编写了一个 C++ 应用程序。我从
我已经设法让 QSystemTrayIcon 可见,类似于: 使用以下代码行(信号槽工作): #include "dialog.h" #include "ui_dialog.h" #include
我是一名优秀的程序员,十分优秀!