Я пытаюсь сделать модуль сэмплера на Qt, я уже сделал много кнопок с QtDesigner, это выглядит так:
Я хотел бы создать горизонтальную полосу, которая перемещается слева направо по всем кнопкам, эта полоса является временной шкалой. Так что это будет похоже на QProgressBar, но мне нужна тонкая полоска, которая не мешает нажимать все кнопки. Ребята, у вас есть идея?
Спасибо,
Робин
Это очень индивидуальная вещь, поэтому никакие предопределенные решения не будут работать.
Есть много способов сделать это. Я опишу вам самый простой.
Вы можете поместить 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.
}
}
Других решений пока нет …