2017-07-03 20 views
-2

我正在尝试创建一个QT gui应用程序(用于教育目的),以便访问硬盘的原始数据。我添加了一个32 + 1列(字节+偏移量)的表格和一个单独的垂直滚动条。该应用程序只读取可见(到表格布局)字节。当用户旋转表格窗口小部件并刷新显示的数据时,会触发事件。QT - 我如何创建一个长int(而不是int)步骤的滚动条?

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

我的问题是:

我如何创建与尽可能多步骤的滚动条,因为我想要的吗?

+2

你能分享源代码吗? – saygins

+2

我认为你不会有足够的显示/鼠标分辨率来使用这么大的值。您需要查看您的用户体验/用户界面。滚动条不是为精确定位而设计的。 –

回答

0

正如Dmitry所建议的那样,由于没有足够的显示/鼠标分辨率,创建带有大数字的QScrollBar是没有用的(也不是直接可能的)。因此,我建议你做到以下几点:

+0

当按下箭头按钮时,我不想(也不等待)看到滚动条移动。我想要的是能够在任何位置拖动条形,然后在按下箭头时将表格内容向上或向下“移动”。我强调滚动条不属于表格小部件。表格的内容总是完全符合其大小。我使用单独的滚动条作为窍门,让用户在任何时候都能感知到磁盘的所有内容都被加载到内存中。我迄今为止实施的最佳解决方案是您的第二个建议,但这不完全是我想要的。 – takpan

+0

但用户不会注意到区别。所以,我认为这是一个很好的解决方案。 – m7913d

+1

用户会注意到,单击滚动条上的箭头或滚轮一步可以将表格内容向上或向下移动多个(而不是一个)行。无论如何,这并不是一个大问题,因为我已经正确地在桌子小部件上实施了轮子旋转(一个轮子步骤=上/下一行)。我只是想知道这个具体操作(我在其他原始数据编辑器中看到的)如何完成。 – takpan

相关问题