Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Qt zdarzenia uruchamiają się po zmianie rozmiaru okna

Ostatnio zmodyfikowano 2018-08-09 16:43
Autor Wiadomość
ktosCZYLIJa
Temat założony przez niniejszego użytkownika
» 2018-08-09 16:35:02
Oto działający kod:
C/C++
bool MainWindow::event( QEvent * event )
{
    event->accept();
    if( event->type() == QEvent::MouseButtonDblClick )
    {
        ui->label1->setText( "QEvent::MouseButtonDblClick" );
        return QWidget::event( event ); //brakowało tego
    }
    return QWidget::event( event ); //brakowało tego
}
Za pomoc z góry dziękuję
P-172054
mateczek
» 2018-08-09 16:43:29
to był tylko przykład dla obiektu dziedziczącego po QWidget ty dziedziczysz po QMainWindow więc raczej tak dla zdażeń myszy

C/C++
void MainWindow::mousePressEvent( QMouseEvent * event ) {
    if( event->type() == QMouseEvent::MouseButtonDblClick )
         ui->label1->setText( "ble" );
    else
         QMainWindow::mousePressEvent( event );
   
}

albo jeśli chcech w kalsie dziedziczonej przechwytywać wszystkie eventy to
// ta funkcja będzie się wywoływała częściej więc polecam pierwszą na wzór pierwszego czarnego boxu z manuala qt
C/C++
bool MainWindow::event( QEvent * event )
{
    if( event->type() == QEvent::MouseButtonDblClick )
    {
        ui->label1->setText( "ble" );
        return true;
    }
    return QMainWindow::event( event );
}
P-172055
1 « 2 »
Poprzednia strona Strona 2 z 2