Qt:Qt 类与标准 C++

2023-11-25

标准 c++ 和 Qt 之间存在大量重复功能。在某些时候,这似乎合乎逻辑,但很多时候却显得愚蠢。就像我想尝试一种新的编程语言,学习我已经知道的东西。例如使用 QFile。

另外,如果我全部用 Qt 方式完成,并且假设现在我想移出 Qt 框架,那么重写该代码将变得非常乏味。 OTOH 我喜欢 Qt,因为它为我提供了一些库,否则我就不得不自己去钓鱼,比如 webkit、数据库连接、dbus 等。

您建议混合标准 C++ 还是纯 Qt 方式?


由于 C++ 中没有 GUI,因此您应该从其余实际代码中抽象出 GUI 代码。

然后,在 GUI 抽象的 QT 实现中,可以随意使用 QT 代码。
然后,您还可以编写 Wx/Quartz GUI 抽象,而不会影响实际代码。

在真正的代码中(如果工作完成)坚持标准的东西(或接近标准(提升)的跨平台库)。有人可能会说 QT 是跨平台的。请记住,此处使用库将紧密耦合您的代码和库,因此稍后提取它将非常重要。 (请参阅上一个有关从旧应用程序中删除 Rouge Wave 的问题)

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

Qt:Qt 类与标准 C++ 的相关文章

  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • 与 for_each 或 std::transform 一起使用时,如何调用 C++ 函子构造函数

    我以前从未使用过 C 函子 所以我只是想了解它们是如何工作的 例如假设我们有这个函子类 class MultiplyBy private int factor public MultiplyBy int x factor x int ope
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 如何修复错误:“检测到无法访问的代码”

    我有以下代码 private string GetAnswer private int CountLeapYears DateTime startDate return count String answer GetAnswer Respo
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • 测量进程消耗的 CPU 时钟

    我用 C 语言编写了一个程序 它是作为研究结果创建的程序 我想计算程序消耗的确切 CPU 周期 精确的循环次数 知道我怎样才能找到它吗 The valgrind tool cachegrind valgrind tool cachegrin
  • 条件类型定义

    如果我有一小段这样的代码 template
  • wordexp 失败时我们需要调用 wordfree 吗?

    wordexp 失败时我们需要调用 wordfree 吗 在某些情况下 调用 wordfree 似乎会出现段错误 例如 当 wordfree 返回字符串为 foo bar 的错误代码时 这在手册页中并不清楚 我已经看到在某些错误情况下使用了
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • 使用 gcc 时在头文件中查找定义的好方法是什么?

    在使用 gcc 时 有人有推荐的方法在头文件中查找定义吗 使用 MSVC 时 我只需右键单击并选择 转到定义 这非常好 我使用过 netbeans gcc 它确实有代码帮助 包括到定义的超链接 所以这是一种选择 但是 我想知道是否有任何其他
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c

随机推荐

  • 为什么 == 在比较使用相同 int 值装箱的两个对象类型变量时不起作用

    在尝试用 C 实现一个简单的单链表时 我注意到 在比较用 int 值装箱的两个对象类型变量时不起作用 但是 Equals works 想检查一下为什么会这样 下面的代码片段是通用对象类型数据属性 public class Node
  • 对 PySpark DataFrame 进行分组后如何应用描述函数?

    我想找到最干净的方法来应用describe函数到分组的 DataFrame 这个问题也可以扩展到将任何 DF 函数应用于分组的 DF 我测试了分组聚合 Pandas UDF 但没有成功 总有一种方法可以通过将每个统计数据传递到agg功能 但
  • 使用 QWebChannel 时未定义的属性和返回类型

    基于QT QWebEnginePage setWebChannel 传输对象 and Qt 无法从 javascript 调用共享对象方法 属性我尝试制作一个小演示来测试功能 请参阅下面的基本测试代码 我的问题是 在新 QWebChanne
  • in_array 与 strpos 在 php 中的性能对比

    我通过 Windows 身份验证登录用户 然后将该用户的权限存储在会话变量中 我在数据库中使用分隔权限存储方法 即 rights retrieved from database read edit delete admin 所以我的问题是我
  • 获取集合的所有子集

    我正在尝试创建一个返回集合的所有子集的方法 例如 如果我有集合10 20 30我想得到以下输出 return new List
  • 如何将高度超过视口的固定div粘贴到body上

    我知道div的定位 固定 绝对和相对 我可以将一个固定的 div 附加到 body 上 以便在滚动 body 时它会粘在相同的位置 我在这里问一个稍微不同的问题 我有一个侧边栏 其高度超过视口的高度 我希望它固定在主体上 滚动 body 时
  • 子串索引范围

    Code public class Test public static void main String args String str University System out println str substring 4 7 Ou
  • 直接从 Java 调用 GWT RPC 服务

    有没有一种简单的方法可以直接从 Java 代码调用 GWT RPC 服务端点 我的意思是真正的 Java 代码 而不是编译成 javascript 的 Java 代码 我问这个问题是因为我们想要针对 GWT RPC 接口运行性能基准测试 压
  • WCF 服务未反序列化枚举值

    我构建了一个 WCF 服务 其中有一个部分如下所示 ServiceContract public class Service OperationContract public SomethingElse Method Code a para
  • FlatList 组件生命周期方法 ScrollToIndex ScrollToEnd 等

    我正在使用新的FlatList成分并想利用ScrollToIndex or ScrollToEnd 在生命周期方法中 例如componentDidMount 我有一个包含 100 个项目的数组 我不想从第一个项目开始渲染 而是从一开始就开始
  • 连接错误:“没有到主机的路由”

    我正在编写一个基于 AX 25 协议的服务器 客户端 C 程序 服务器创建套接字 绑定成功并侦听即将到来的连接 客户端在不同的线程中运行 但连接失败 并显示 没有到主机的路由 服务器代码 include
  • Grails - 为每个响应添加标头

    我怎样才能添加响应头 比如X Time看起来像这样 X Time 112 其中给出的值是处理响应所需的时间 以毫秒为单位 有没有一种非常简单的方法可以将其添加到 Grails 应用程序中 我不想永久保留它 但在开发我的应用程序时保留它会很高
  • 将 ggplot2 与名称中包含空格的列一起使用

    我有以下数据帧结构 df lt as data frame A colnames df lt c Sum of MAE Company df lt na omit df df2 lt df order df 1 df2 lt head df
  • 我怎样才能每一秒都做某事? [LibGDX]

    假设我想制作一个循环或每秒打印出的内容 例如 马里奥 我怎样才能做到这一点 似乎无法在任何地方找到任何好的教程来教授这个 P 正如 BennX所说 你可以总结一下delta渲染方法中的时间或通过调用获取它Gdx graphics getDe
  • 显式使用“new EventHandler”声明有好处吗?

    将事件处理程序分配给上下文之类的东西MenuItem 例如 有两种可接受的语法 MenuItem item new MenuItem Open Image btnOpenImage Click 和 MenuItem item new Men
  • MinGW中有fmemopen()吗

    我正在尝试编译一些使用fmemopenMinGW 中的函数 我发现MinGW没有这个功能 我需要一个相当于fmemopen 我可以使用其他功能吗 由于内核中缺少功能 win32 上没有 fmemopen 等效项 我认为 cygwin 使用如
  • 无法解析符号 DaggerApplicationComponent

    我将 Dagger2 与 java 一起使用 并收到 无法解析应用程序中的符号 DaggerApplicationComponent 错误 依赖关系似乎有问题 任何帮助将非常感激 我的完整代码在这里 https github com roh
  • 如何强制 to_yaml 以文字块样式输出长字符串?

    我在哈希中有很长的字符串值 我想以文字块样式打印 以 gt or 在 YAML 中 而不是作为内联字符串 有没有办法在调用时强制执行此操作 to yaml 文字块样式的示例 this Foo Bar None
  • 错误:无法将 typeid 与 -fno-rtti 一起使用

    当我尝试编译我的项目时 我收到此消息 Cannot use typeid with fno rtti 我正在使用 opencv 框架 我用谷歌搜索了这个问题 但是 我在互联网上发现的错误似乎与我的问题无关 我不知道问题是否与包含 代码或编译
  • Qt:Qt 类与标准 C++

    标准 c 和 Qt 之间存在大量重复功能 在某些时候 这似乎合乎逻辑 但很多时候却显得愚蠢 就像我想尝试一种新的编程语言 学习我已经知道的东西 例如使用 QFile 另外 如果我全部用 Qt 方式完成 并且假设现在我想移出 Qt 框架 那么