我有一个QT程序,其中包含我正在实现的自定义小部件。这个小部件是一个Hexeditor,它已经可以运行了。 但是现在我想在窗口中放入同一个Hexeditor的另一个实例,并且我想在它们之间同步数据,所以如果我在一个Hexeditor中更改一个字节,则在另一个Hexeditor上自动更改相同的字节。
这个问题的最佳解决方案是什么?我有什么选择?有时文件可能非常大,所以我试图找到最佳解决方案。
这是一般性问题,可能对其他文本小部件有效。
由于
答案 0 :(得分:0)
我会在Qt中使用非常好的MVC架构小部件。
由于hexeditor通常以表格形式排列,我会使用QAbstractTableModel
实际存储十六进制数据,然后使用QTableView
来显示数据。然后,您可以将任意数量的十六进制编辑器连接到同一模型,并且所有这些都将自动同步。您还必须修改QStyledItemDelegate
以在视图中提供仅十六进制编辑,但这非常简单。