Есть такой фильтр событий:КодC++ (Qt)ChatWindow::ChatWindow(QWidget *parent) : QWidget(parent){ QPushButton * connectButton = new QPushButton; connectButton->setCheckable(true); connectButton->installEventFilter(this);}bool ChatWindow:: eventFilter(QObject * obj, QEvent * event){ if(event->type() == QEvent::MouseButtonRelease && obj == connectButton) startConnect(!connectButton->isChecked()); return QWidget::eventFilter(obj , event);}void ChatWindow:: startConnect(bool checked){//-------------------}Проблема в том, что событие вызывается раньше, чем свойство checked у connectButton меняет свое значение. (В итоге в мою функцию startConnect(bool checked) приходиться передавать инвертированое от вызова connectButton->isChecked() значение.) А хотелось бы наоборот!Можно ли как-нибудь изменить приоритет вызова события или что-то подобное сделать, чтобы избавиться от костылей?
|