- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在为本地 SOHO 构建一个 POS/库存/簿记应用程序,我想知道我是否应该将我所有的域对象都基于 QObject。
我来自 vba/MS Access 编程,我厌倦了到处编写 SQL、复制数据访问代码等等,我想有一次写一个很好的数据抽象——我认为 Qt Signal 和 Slots 可能提供对我来说。
然后所有模型将只是 QObjects 的列表/树,CRUD 表单将修改对象 -> 对象然后向它所属的任何模型发出信号,模型向与其连接的任何 View 发出信号,一切都很好并被抽象掉了。
Qt 属性系统对于滚动简单的 ORM 也很有用,因为我设计自己的表,因此讨厌为你做的 ORM ^^
但后来我读到this question ,并开始怀疑我是否过度设计了这个?
请注意,我知道我永远不会再在应用程序中编写 SQL,直到 LINQ 很快进入 C++ ^^...但重点是我至少要努力做对一件事这次。
最佳答案
QObjects 有一些你可能不希望在你的数据类中出现的奇怪属性:
如果您决定不想要/不需要这些,那么我建议您改为:保留您的类“vanilla”,但将它们存储在 QAbstractItemModel 的 QObject 后代中。 .这使您的数据类尽可能小,但允许您在 QAbstractItemView 的任何后代中显示它们以最少的工作。然后,您的模型会获得操作底层数据类所需的任何信号和槽。
事实上,即使您确实将数据类设为 QObject,让模型“管理”集合也是一个不错的主意。这只是一点点额外的代码,它使显示内容变得非常简单。
希望有用!
关于c++ - QObject 作为域对象的基类。过度工程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585483/
假设您有一个在白天接收订单的仓库。这些订单可以是提取产品或向仓库添加产品。在一天结束时,您会得到一份仍包含在仓库中的元素 list 。由于劳动力非常稀少,因此可能会发生订单在仓库的票务系统收到订单的当
有哪些学习音频操作/工程/编程的好资源? 最佳答案 如果您对编写音频效果感兴趣,这两个网站非常好: Music DSP KVR Developer Forum 关于audio - 有哪些学习音频操作/
我的程序写错了 struct vector v; 代替 vector v; 但编译器似乎并不关心:http://codepad.org/TCPb8p2u 为什么有效?使用或不使用 struct 是否存
我创建了一个 Settings自动检索或打印关联 JTextField 上的设置值的类。我的绑定(bind)函数如下所示: public void bindToInput(final String s
下面的例子可以编译,但是输出很奇怪: #include #include struct A { int a; char b; bool c; }; int main() {
如何在Mac-Os上打开已有的Android Studio制作的Flutter工程导出ipa版本的app?可以使用 Mac-Os 版本的 Android Studio 来完成,还是我必须使用 X-Co
我是一名优秀的程序员,十分优秀!