Добавить временную шкалу, горизонтальную полосу на Qt

Я пытаюсь сделать модуль сэмплера на Qt, я уже сделал много кнопок с QtDesigner, это выглядит так:

введите описание изображения здесь

Я хотел бы создать горизонтальную полосу, которая перемещается слева направо по всем кнопкам, эта полоса является временной шкалой. Так что это будет похоже на QProgressBar, но мне нужна тонкая полоска, которая не мешает нажимать все кнопки. Ребята, у вас есть идея?

Спасибо,
Робин

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.
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]