- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在开发一个 Qt 应用程序,用户可以在其中检查音频波形。给定一个典型的 44.1kHz 采样波,要求波形可缩放到每个样本至少 10 个像素,以及 QWidget 的最大宽度,这将我的波形限制在 38 秒的长度 (16777215/44100/10)。但在我的应用中,波形的长度可能超过 10 分钟。
很明显,当放大到这么远时,用户将永远无法在一台显示器上查看整个波形。这就是为什么我把它放在一个(水平的)QScrollArea 中。波形小部件有一个自定义绘制事件,允许它有选择地渲染屏幕上的可见部分,因此它能够处理任何理论上的宽度。但是 QScrollArea 会吐出这样的尺寸。
那么如何制作可以处理大尺寸的滚动条呢?
这是我的应用程序的图像,可帮助您直观地了解问题(请注意,波形应该显示为像素化,因为它确实如此):
这是我在我的小部件上调用 setFixedSize
时收到的确切错误消息:
QWidget::setMinimumSize: (/ui::SamplerView) The largest allowed size is (16777215,16777215)
QWidget::setMaximumSize: (/ui::SamplerView) The largest allowed size is (16777215,16777215)
最佳答案
假装:使用水平滚动条作为 slider ,让小部件根据滚动条位置(连接到 valueChanged 信号)进行一些自定义绘制
关于c++ - Qt - 如何解决 QScroller 最大尺寸限制(16777215 像素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18865336/
动态滚动对于使用 Qt 开发移动应用程序非常重要,我注意到它在设备上并不流畅(尝试过 android 设备和 iphone)。它看起来有点起伏不定,从一个位置跳到下一个位置并延迟跟随手指移动。这在尝试
首先,我的问题只能在带触摸屏的设备上重现,使用 PC/鼠标一切正常。 问题是,如果我使用 QTableView + QScroller 作为独立窗口一切正常 - 我将手指从底部移动到顶部内容向下滚动,
我正在开发一个 Qt 应用程序,用户可以在其中检查音频波形。给定一个典型的 44.1kHz 采样波,要求波形可缩放到每个样本至少 10 个像素,以及 QWidget 的最大宽度,这将我的波形限制在 3
我是一名优秀的程序员,十分优秀!