QT - 如何创建具有长 int(而不是 int)步长的滚动条?



>我正在尝试创建一个QT GUI应用程序(用于教育目的(,以便访问硬盘的原始数据。我添加了一个包含 32+1 列(字节 + 偏移量(的表格,旁边还有一个单独的垂直滚动条。应用仅读取可见(到表布局(字节。当用户在表小部件上旋转滚轮并刷新显示的数据时,将触发事件。

我还希望滚动条具有类似的行为(当然是可拖动的(。在这种情况下,我必须将滚动条(步骤(的最大值设置为 totalHdBytes/32。但是,在大多数情况下,它是一个长整数(不是整数(,因此不能从 QScrollBar 对象中接受。

我的问题是:

如何创建包含任意数量的步骤的滚动条?

正如 Dmitry 所建议的那样,创建具有如此大数字的QScrollBar是没有用的(也不是直接不可能的(,因为您没有足够的显示/鼠标分辨率。因此,我建议您执行以下操作:

  • 使用QLineEdit输入地址(可选使用inputMaskvalidator(或实现您自己的QScrollBox,如本文所述。

  • 使用乘法因子将QScrollBar范围映射到所需范围。

最新更新