2013-05-17 72 views
-1

我打算在Qt中創建Win Hex應用程序。我想知道應該使用哪個小部件來創建十六進制顯示區域。我必須打開硬盤才能顯示500 GB的磁盤。WinHex的技術

那麼,哪個小部件可以處理大量的十六進制行?

我已經開始在QWidget的繪畫事件中做它,但QWidget的高度是整數,所以行數不能大於整數範圍。

那麼,我應該使用QTextEditQPlainTextEdit

+1

你幾乎肯定不想將*整個*文件/磁盤數據加載到編輯器中。大多數能夠處理大文件或編輯整個磁盤的編輯器可能只加載當前顯示的區域,處理滾動事件以讀取並顯示正在滾動的區域。 – Iridium

+0

那麼請告訴我如何管理滾動事件如何控制當我在某個扇區進行某些更改然後進入另一個扇區,然後在撤消時如何通過使用Qundo來在哪個位置執行撤消操作堆棧... –

回答

1

您使用錯誤的方式。考慮使用QAbstractItemModel + QTableView。你的模型可以使用「虛擬窗口」。這意味着您的模型只保存一小部分將按需加載的數據。

+0

可以請你提供任何我可以得到一些描述的鏈接...... –

+0

qt模型視圖的概念可以在http://qt-project.org/doc/qt-4.8/找到modelview.html – AnatolyS

+0

在這裏我必須使用撤消設施&我必須更改十六進制字符,, ..使用Qundo堆棧和Qundo命令。 要求是在單個滾動區域有總扇區..如果我使用QAbstract項目模型,這不會完成.... –