C 库的 Qt 包装器

2023-12-20

我正在开发一个主要基于 C 库的 QT 项目。

我喜欢 QT 的工作方式,并且想为我正在使用的每个 C 库制作一个 C++ 包装器(具有类似的 QT 风格)。

您有什么建议和建议。 我应该做什么,不应该做什么。

我想听到基于现实生活经验的答案。

Thanks


一篇经典文章 http://doc.qt.io/archives/qq/qq13-apis.html关于设计 Qt 风格的 API 可能会对您有所帮助。

一般来说,我建议尽可能遵循 Qt 风格,并尽可能隐藏底层库的细节。您可以使用 Qt 源代码作为参考 - 毕竟,Qt 在很大程度上是 C 库的包装,利用标准 C、POSIX 和特定于平台的库。

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

C 库的 Qt 包装器 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 为什么 Google 测试会出现段错误?

    我是 Google Test 的新手 正在尝试提供的示例 我的问题是 当我引入失败并设置GTEST BREAK ON FAILURE 1 或使用命令行选项 GTest 将出现段错误 我正在考虑这个例子 https code google c
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 我可以使用 moq Mock 来模拟类而不是接口吗?

    正在经历https github com Moq moq4 wiki Quickstart https github com Moq moq4 wiki Quickstart 我看到它 Mock 一个接口 我的遗留代码中有一个没有接口的类
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 我的班级应该订阅自己的公共活动吗?

    我正在使用 C 3 0 遵循标准事件模式我有 public event EventHandler
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com

随机推荐

  • 多个向量的笛卡尔积

    类似的问题以前曾被问过 但我找不到与我的问题完全匹配的问题 我有 4 个向量 每个向量包含 200 500 个 4 位整数 每个向量中元素的确切数量各不相同 但我可以将其修复为特定值 我需要找到这 4 个向量中元素的所有可能组合 eg v1
  • Boto Ec2 和弹性 IP

    是否可以使用 python boto 将弹性 IP 地址与 ec2 实例关联 我正在尝试自动化部署 我在ec2部分搜索了api文档 但没有找到任何结果 不知道你在看什么文档 但它在那里 http boto readthedocs org e
  • Android Studio中的渲染问题

    我安装了最新版本Android Studio并创建了 hello world 应用程序 但是activity无法在预览窗格中呈现 我安装了所有最新的软件包SDK manager 显示的错误如下 java lang NoSuchFieldEr
  • Travis-CI 找不到相关模块需求

    我有一个正在运行 mocha 测试的 Travis 构建作业 但是构建失败并出现以下错误 Error Cannot find module sources reddit 我的文件树如下 feeds sources Reddit js Fee
  • Ruby:NoMethodError,但为什么呢?

    我在学习 Ruby 时正在开发一个简单的 Pi 生成器 但我在 RubyMine 6 3 3 上不断收到 NoMethodError 所以我决定用尽可能简单的方式创建一个新项目和新类 并且我STILL得到无方法错误 任何原因 class M
  • Android - 需要 ondraw() 视图示例的帮助

    我使用下面的代码来绘制视图 Override protected synchronized void onDraw Canvas canvas super onDraw canvas paint setStyle Style STROKE
  • Android Imageswitcher:定期切换图像?

    我正在使用带有 TouchListener 的 ImageSwitcher 来更改数组中的图像 它工作正常 但我希望它每隔 x 秒左右切换一次图像 以便我可以添加imageSwitcher setImageResource imageLis
  • 在 MS SQL Server 2005 中插入忽略?

    MS SQL Server 2005 中是否有 mysql 的 INSERT IGNORE 等效项或类似的功能 我不熟悉 mysql INSERT IGNORE 功能 但我正在阅读的文档听起来好像它所做的只是忽略 默默地失败 尝试插入表中已
  • Android Camera API - 强制关闭不会释放相机资源[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 因此 在开发自定义相机应用程序时 我在极少数情况下和在各种设备上意识到 如果应用程序必须强制关闭 它并不总是释放相机资源 有没有办法找
  • Django 模型过滤器存储在数据库中

    我正在 feincms 中处理内容类型 我想创建一个可以在数据库中存储过滤器的内容类型 大致看起来是这样的 from news models import Entry class NewsContent models Model filte
  • 无法在 RedHat Enterprise Linux 中使用 WebSphere MQ 8 配置 HermesJMS

    我正在尝试配置HermesJMS v1 14 with WebSphereMQ v8 0 但是我不能 我看过几个教程 并且遵循了它们 尽管没有一个完全是这些版本 这就是我所做的 我已经下载了这个试用版MQ V8 0 Trial for Mu
  • 如何在 Windows 10 上注册 ASP.NET?

    当我运行此命令时 出现以下错误 aspnet regiis exe i C Windows Microsoft NET Framework64 v4 0 30319 gt aspnet regiis exe i Microsoft R AS
  • 错误 ITMS-90432:Swift 支持无效。有解决办法吗?

    尝试将我的应用程序分发到 App Store Connect 时出现错误 这是我第一次遇到这个错误 我已经分发了 8 个不同版本的应用程序 没有出现任何错误 完整错误是 错误 ITMS 90432 Swift 支持无效 文件 APP NAM
  • IE8:选项标签默认获得“selected”属性(而cloneNode把它搞得一团糟)

    IE 似乎会自动在选项标签上添加 选定 属性 但如果你克隆Node它 事情就会变得奇怪 如果你在IE8中打开一个页面 代码如下
  • Cordova 忽略屏幕方向锁定[重复]

    这个问题在这里已经有答案了 我正在使用 Cordova 3 3 0 和我的 Galaxy S3 运行最新的 Cyanogenmod 来测试我正在开发的应用程序 我需要应用程序屏幕保持在 纵向 模式并被锁定 即使用户旋转设备也是如此 无论我尝
  • 为什么我会收到模板函数指针的链接器错误?

    我有一个 EventMgr 类 它有一个模板函数来注册侦听器 但是 当我注册监听器时 链接器给了我一个 错误 LNK2019 无法解析的外部符号 开胃菜代码 class EventMgr template lt class T class
  • 如何导入 .R 文件并为其指定别名?就像 import myfile.R as mf

    R 初学者 真的很想念 Python import pandas as pd import my file which is just a file not a package as mf out mf my cool function 我
  • indexedDB openCursor 事务成功返回空数组

    req db openCursor req customerData new Array a 1 req onsuccess function e var cursor e currentTarget result if cursor co
  • 如何撤消供应商/宝石捆绑安装

    I ran bundle install vendor gems所有宝石都按预期保存到宝石目录中 但是当我像这样删除它们时 rm rf vendor gems rails s Could not find rake 0 9 2 2 in a
  • C 库的 Qt 包装器

    我正在开发一个主要基于 C 库的 QT 项目 我喜欢 QT 的工作方式 并且想为我正在使用的每个 C 库制作一个 C 包装器 具有类似的 QT 风格 您有什么建议和建议 我应该做什么 不应该做什么 我想听到基于现实生活经验的答案 Thank