QGroupBox нажал / фокус

У меня есть несколько групповых блоков в моем приложении, которые размещены в одном родительском виджете, и каждому из них предоставляется дочерний экземпляр QwtPlot. Пользователь может работать с графиками с помощью мыши (масштабирование, панорамирование …).

Я хочу отслеживать, в каком групповом блоке работает пользователь в данный момент (это блок фокус-группы). Однако события обрабатываются стандартным способом, поэтому, если пользователь работает с графиком, события мыши потребляются этим графиком. Я хочу знать, что пользователь работает с определенным групповым ящиком, независимо от того, какие операции он выполняет со своими вложенными виджетами.

Какие-либо предложения?

0

Решение

Хорошо, я нашел решение. QGroupBox должен быть переопределён, например:

class CustomGroupBox : public QGroupBox {
Q_OBJECT
public:
CustomGroupBox(QWidget *parent = 0) : QGroupBox(parent);
CustomGroupBox(const QString &title, QWidget* parent = 0) : QGroupBox(title, parent);
signals:
void customReleased();
protected:
void mouseReleaseEvent(QMouseEvent* event) {
emit customReleased();
QGroupBox::mouseReleaseEvent(event);
}
};

Затем я могу подключить customReleased () всех моих групповых блоков к одному слоту, который будет обрабатывать объект sender () и отслеживать активный групповой блок.

1

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

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

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