我正在尝试在Qt上制作一个采样器模块,我已经使用QtDesigner制作了很多按钮,它看起来像这样:
我想创建一个水平条,它在所有按钮上从左向右移动,此条是时间栏。所以它就像一个QProgressBar,但我需要一个不会阻止点击所有按钮的细条。你们有个主意吗?
谢谢, 罗宾
答案 0 :(得分:0)
这是非常自定义的事情,因此没有预定义的解决方案可行。
有很多方法可以做到这一点。我会用最简单的方式描述你。
您可以在按钮顶部放置QProgressBar(我帮你做对了吗?)之后你可以这样做(代码不是复制粘贴,只是把它读作伪代码):
progressBar->installEventFilter(this);
// Then you create method for event filtering in your MainWindow or who handles that ProgressBar
bool MainWindow::eventFilter(QObject *obj, QEvent *event) {
if (static_cast<QProgressBar *>(obj) == progressBar) {
// Then check if event is mouse click event
// and now iterate over your buttons. If some button->rect().contains() event->pos() that was clicked, call button->clicked() signal.
}
}