c++ - 普通 C++ 应用程序 GUI 开发的最佳实践

标签 c++ qt user-interface coding-style

我想了解如何将 gui 开发为 vanilla C++ 应用程序。我主要在命令行应用程序方面有经验。到目前为止,我在 C++ gui 方面的经验是 cout 和 cin。我在 WPF 方面有一些经验(只是提一下我确实有一些 gui 经验)我希望这能描述我在 gui 方面的经验水平。现在,我想开发一个应用程序,它需要单独的 GUI 和 3D 显示的可能性。当然,GUI API 的选择之一是 Qt。另外,在网上阅读了很多资料后,我认为代码分离在未来会很有帮助。

所以,我的问题是:如果我尽可能保持我的逻辑通用(不在我的逻辑中使用 winapi 或 qt)并且仅使 GUI 部分 API 特定(比如 winapi 或 qt),是否可能?或者我需要在我的逻辑部分添加一些代码,比如逻辑和 GUI 之间的同步。可以说来自 qt 的信号和槽是可能的,但据我所知,信号和槽是特定于 qt 的。它们不是标准的 C++。

总而言之,我的问题是我可以用标准 C++ 编写我的逻辑吗(以保持平台/框架独立)并且只设计平台特定的 GUI?如果是,请推荐一个链接或教程或书籍。示例代码或实现将是“愿望成真”。此外,对代码分离策略的一些见解也会很有帮助。

问候!!

编辑:: 我会详细说明我的问题。我有一个具有单独的 GUI 和逻辑部分的应用程序。 gui 使用 WinAPI 并且由于使用的通信模式是 windows 消息,以前的用户已经在 Logic 中创建了一个 HWND 对象来与 GUI 通信。所以,在Logic中有一个HWND,在GUI中有一个HWND。我不觉得这种方法令人满意。原因之一是逻辑部分将在后期由非程序员编辑(不多。只是修改常量或更改函数的实现而不更改参数或返回值)。所以,我只想将逻辑部分保持在标准格式(尽可能多)。因此,再一次,任何人都可以帮助我在任何 API 中使用 C++ 和 GUI 设计业务逻辑。

最佳答案

在阅读了一些主题后,我发现回答自己的问题并不是一个坏习惯。所以我会分享我得到的答案。

没有不使用外部依赖项构建 C++ gui 应用程序的标准方法。 gui 和逻辑部分之间的同步始终是特定于框架的。所以,如果我想开发一个 C++ gui 应用程序,我不能将逻辑部分放在标准 C++ 中。它必须有一些来自外部框架的代码,这些代码将传达逻辑部分和图形用户界面部分。话虽如此,我已经通过以下方法找到了自己的出路。我将把我的逻辑部分放在一个静态库中,然后我将把这个库附加到 gui 部分。它会增加 gui 部分的编码,但会保留标准 c++ 中的基本功能。这种方式(标准 C++ 中的函数库和框架特定代码中的机器操作)对我有用。我希望我走在正确的轨道上。 :)

关于c++ - 普通 C++ 应用程序 GUI 开发的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18376384/

相关文章:

c# - 无法将 c# .Net Core 3.0 与 directx 9.0 依赖项链接起来

c++ - 使用指令与使用声明

java - 整数未写入标签

user-interface - 为什么 intellij 中不同主题的字体看起来如此不同?

c++ - 模板的循环包含

c++ - 在主事件循环之前如何创建一些对象?

c++ - Vtk图表在QT中中断, “no override found for ' vtkContextDevice2D”

linux - iwlib 尝试获取访问点名称 - u.addr.sa_data 包含可疑字符,导致 QString 为空

javascript - jQuery 用户界面 : smooth slider with one snap (to default value)?

c++ - Text和Bin Buffer如何设置WSABUF.buf?