OPENGL用户界面编程[关闭]

2023-12-02

我正在开发一个图形应用程序来呈现数据(不是游戏,而是真正的主力应用程序)。它需要跨平台,所以我选择了:

  • python
  • openGL(我需要 3D、混合、纹理等)
  • pyopengl
  • wx/pywx - 窗口、对话框等。

最后一个组件 - WX - 提出了这个问题。我可以组装一个非常漂亮的应用程序(原型看起来很光滑)——但是当我需要与用户交互以提出问题、获取输入时,我必须使用 WX。它使应用程序看起来不一致,因为在具有混合、平滑运动、纹理等功能的全屏 3D 应用程序之上拥有传统的 UI、传统对话框、组合和文本输入。

有人用OpenGL和Python开发过GUI吗?您能与我分享您使用的工具包和/或技巧吗?我需要组合、文本输入、按钮、单选按钮、选项按钮、树视图。

有一些工具包,但它们要么不完整,要么陈旧且未维护。一个很好的例子是 pyUI (http://pyui.sourceforge.net/) - 看起来很光滑,但多年来未曾动过。


这不是一个答案,更多的是一个恳求:请不要这样做。

您重新实现的小部件将缺少用户会错过的各种功能。您的文本输入框支持拖放吗?复制粘贴?从右到左的脚本?拖动选择?双击选择?所有这些机制是否都遵循您支持的每个平台的本机约定?

使用 Wx,您的小部件可能看起来与应用程序不一致,但至少它们看起来与操作系统一致,这同样重要。更重要的是,他们会做用户期望的事情。

(编辑)三个帖子,-3 分?去死这个业力妓女的巢穴。原始海报:我已经在 OpenGL 中实现了一组基本的小部件(用于游戏 UI),这是一项无休止的噩梦。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OPENGL用户界面编程[关闭] 的相关文章

  • Python Pandas 滚动聚合一列列表

    我有一个简单的数据框 df 和一列列表lists 我想根据以下内容生成一个附加列lists The df好像 import pandas as pd lists 1 1 2 1 2 3 3 2 9 7 9 4 2 7 3 5 create
  • Vimeo API:获取下载所有视频文件的链接列表

    再会 我正在尝试从 Vimeo 帐户获取所有视频文件的列表 直接下载的链接 有没有办法在 1 GET 请求中做到这一点 好的 如果是API限制的话 就100倍 我有硬编码脚本 我在其中发出 12 个 GET 请求 1100 多个视频 根据文
  • 在函数内的 for 循环上使用 tqdm 来检查进度

    我正在使用 for 循环迭代目录树内的一大组文件 这样做时 我想通过控制台中的进度条来监视进度 因此 我决定使用 tqdm 来实现此目的 目前 我的代码如下所示 for dirPath subdirList fileList in tqdm
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • 使用 Boto3 超时的 AWS Lambda 函数

    我已经解决了我自己的问题 但无论如何我都会发布它 希望能节省其他人几个小时 我在 AWS 上有一个无服务器项目 使用 Python 将记录插入到 kinesis 队列中 但是 当我使用 boto3 client kinesis 或 put
  • 使用 Python 和 lmfit 拟合复杂模型?

    我想适合椭偏仪 http en wikipedia org wiki Ellipsometry使用 LMFit 将数据转换为复杂模型 两个测量参数 psi and delta 是复杂函数中的变量rho 我可以尝试将问题分离为实部和虚部共享参
  • 使用 Pandas 从 csv 文件读取标题信息

    我有一个包含 14 行标题的数据文件 在标头中 有经纬度坐标和时间的元数据 我目前正在使用 pandas read csv filename delimiter header 14 读取文件 但这只是获取数据 我似乎无法获取元数据 有人知道
  • 使用 scikit 时 scipy.sparse 矩阵的缩放问题

    在使用 scikit learn 解决机器学习问题时 我需要在使用 SVM 进行训练之前对 scipy sparse 矩阵进行缩放 但在文档 http scikit learn org stable modules preprocessin
  • 获取 Keras model.summary() 作为表

    我在 Keras 中创建了相当大的模型 我正在用 LaTeX 写一篇关于它的文章 为了很好地描述 LaTeX 中的 keras 模型 我想用它创建一个 LaTeX 表 我可以手动实现它 但我想知道是否有任何 更好 的方法来实现这一点 我四处
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • Snakemake:将多个输入用于具有多个子组的一个输出的规则

    我有一个工作管道 用于下载 比对和对公共测序数据执行变体调用 问题是它目前只能在每个样本的基础上工作 i e作为每个单独测序实验的样本 如果我想对一组实验 例如样本的生物和 或技术复制 执行变体调用 则它不起作用 我试图解决它 但我无法让它
  • 如何创建增量加载网页

    我正在编写一个处理大量数据的页面 它会永远持续到我的结果页面加载 几乎无限 因为返回的数据太大了 因此 我需要实现一个增量加载页面 例如 url 中的页面 http docs python org http docs python org
  • 根据标点符号列表替换数据框中的标点符号[重复]

    这个问题在这里已经有答案了 使用 Canopy 和 Pandas 我有数据框 a 其定义如下 a pd read csv text txt df pd DataFrame a df columns test test txt 是一个单列文件
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • PyQt5按钮lambda变量变成布尔值[重复]

    这个问题在这里已经有答案了 当我运行下面的代码时 它显示如下 为什么 x 不是 x 而是变成布尔值 这种情况仅发生在传递到用 lambda 调用的函数中的第一个参数上 错误的 y home me model some file from P
  • ProcessPoolExecutor 传递多个参数

    ESPN播放器免费 class ESPNPlayerFree def init self player id match id match id team 团队名单1 277906 cA2i150s81HI3qbq1fzi za1Oq5CG
  • Chrome 驱动程序和 Chromium 二进制文件无法在 aws lambda 上运行

    我陷入了一个问题 我需要在 AWS lambda 上做一些抓取工作 所以我按照下面提到的博客及其代码库作为起点 这非常有帮助 并且在运行时环境 Python 3 6 的 AWS lambda 上对我来说工作得很好 https manivan
  • 使用 python 将 CSV 文件上传到 Microsoft Azure 存储帐户

    我正在尝试上传一个 csv使用 python 将文件写入 Microsoft Azure 存储帐户 我已经发现C sharp https blogs msdn microsoft com jmstall 2012 08 03 convert

随机推荐

  • 在 CentOS 64 位上的 Ruby 1.9.2 中安装 ruby​​gem 'mysql2' 时出现编译器错误

    a CentOS 64 位服务器有红宝石 1 8 7 和 1 9 2 没有 RVM 需要没有 RVM 目前所有 Ruby1 9 2 二进制文件都是 ruby 19 并且同样可以访问 所以没有宝石路径的映射或任何类似的东西 安装时出现错误宝石
  • 使用 JavaScript 进行服务器轮询

    使用 JavaScript 轮询服务器有哪些好的做法 需要非常快速地刷新数据的应用程序 我使用 jQuery 作为前端 使用 Java Spring Framework 作为后端 刷新数据的示例可以是更新非常快 每 1 秒 的项目列表 您可
  • 为什么使用“for”循环在程序中添加两次“int”标签时输出不同?

    我是一名学习者 也是 C 语言的新手 当我创建一个使用 for 循环给出两个数字的幂的函数时 我遇到了在循环开始之前使用 int 声明以及在循环中更改程序输出的情况 为什么会这样呢 使用 int 声明一次的代码具有正确的输出 include
  • Android:在Activity之间传递哈希图

    我有一个字符串和类对象之间的映射 我在活动 1 中填充此地图 并希望将其传递给活动 2 public class NEW extends Activity public class data String name float value
  • Chrome 扩展 - 在内容脚本中接收请求

    有没有更好的方法在内容脚本和弹出窗口 背景之间传递命令 现在我正在做这样的事情 而且它不可维护或不健壮 chrome runtime onMessage addListener request sender sendResponse gt
  • 自定义index.html javadoc页面?

    我正在使用 ant 任务运行 javadoc
  • MATLAB 到 Python 代码转换(NumPy、SciPy、MatplotLib?)

    我正在尝试将以下代码从 MATLAB 转换为 Python 以用于 EEG 项目 部分原因是 Python 稍微便宜一些 希望有人能指出我正确的方向 我已经开始改变它但陷入困境 特别是试图找到等效的功能 尝试过 scipy org NumP
  • 添加默认不可为空列时的 Oracle 错误

    我过去在 Oracle 11g 的各种实例中都遇到过这个错误 无法亲自访问 Oracle 支持来了解这是否是已识别 已解决的问题 该错误会导致查询始终返回列的默认值 即使记录实际上具有不同的值也是如此 它仅在特定查询中出现 并且是通过使用单
  • Excel / VBA - 使用动态范围的索引匹配函数

    如何有效地使用Index MatchVBA中的公式 背景 我有一个工作表 该工作表在很大程度上依赖于公式的使用 该公式根据将特定名称与其名称范围以及特定日期与其日期范围相匹配来检索输出 INDEX OutputRange MATCH 1 N
  • 如何计算两个日期之间的季度数

    问题一 您如何计算开始日期之间的季度数 base date变量 和ypandas 数据框中的列 from dateutil relativedelta import relativedelta import pandas as pd imp
  • 将锚标记替换为 span 或 div 或 p

    我有一个功能 一旦用户单击链接 就会发出 ajax 请求 如果发出请求 则该链接不应再单击 这是我用来完成此任务的方法 a id rsvp click function e e preventDefault post this data u
  • PHP - 多维数组差异

    我想请求你的帮助 因为我很难解决这个问题 我创建了一个函数来促进数组差异 但它不足以满足我的需求 谢谢 还有更多的力量
  • 设置 sbt 使用 Java 7 进行编译?

    我在运行时遇到编译错误compile任务 因为源引用了新类java nio file仅出现在 Java 7 中的包 我有以下内容build sbt javaHome Some file opt jdk jdk1 7 0 fork true
  • 重试之前的任务操作 TPL

    我想实现一个重试任务 该任务采用先前失败的任务操作并重复它 这是我到目前为止所拥有的 然而 它只是重复任务出错的事实 而不是再次实际触发任务的操作 public static async Task
  • Accept* HTTP 标头中的 q=0.5 是什么?

    Accept text html application xhtml xml application xml q 0 9 q 0 8 Accept Language en us en q 0 5 Accept Charset ISO 885
  • 如何在控制台项目中使用 Main() 启动窗口?

    我有一个控制台项目 但现在我需要放置一个用户界面 所以我使用 3 层模型 演示 业务 访问数据 按照我的方法Main 我调用的是表示层 比如Window形式的app或者Wpf 所以 在表示层就是通过CONSOLE与用户交互 现在 我在表示层
  • 运行 Android 应用程序时出现持续问题

    我在使用 Android 应用程序时遇到了非常困难的时期 我正在使用 Eclipse V 4 2 0 并运行 API 版本 7 下面是我遇到困难的一个程序的 LogCat 输出 这是我的代码 Manifest
  • Selenium WebDriver 和 Selenium 服务器

    我需要你的帮助来连接与硒相关的东西 在过去的几周里 我一直在阅读有关 Selenium 的文档 有selenium IDE 用于记录和重放测试的firefox扩展 硒 RC 硒 1 0 现在似乎已弃用 并使用代理 HTTP 服务器在多个浏览
  • IOS JSON 反序列化失败 - STIG/NSJSONSerializer

    我想反序列化从 IOS 中运行的 Web 服务收到的简单 JSON NickName James Roeiter3 TempId 634783760669935686 LDAP XUserName15 SecToken null NickN
  • OPENGL用户界面编程[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在开发一个图形应用程序来呈现数据 不是游戏 而是真正的主力应用程序 它需要跨平台 所以我选择了 python openGL 我需要 3D 混合