Jak zrobić obiekt typu QGraphitcsView tylko do odczytu?



  • Witam. Tak jak w temacie napisane potrzebuję zrobić obiekt QGraphitcsView tylko do odczytu. Potrzebuję aby w pewnym momencie gry okno było nieaktywne na żadne klikania i przenoszenie danych rzeczy znajdujących się tam.
    Próbowałem zaimplementować funkcję ui->obiekt->setInteractive(false);
    lecz to nie działa...
    Proszę o jakaś pomoc i z góry dzięki za odp.


  • Moderators

    @
    ui->obiekt->setEnabled(false);
    @

    Ale to chyba nie da efektu, jakiego się spodziewasz. Można jeszcze zrobić 2 tricki: przechwycić QMouseEventy i zablokować sygnały. Ta druga opcja:
    @
    ui->obiekt->blockSignals(true);
    @



  • Przy tej funkcji ui->obiekt->setEnabled(false);
    program się zawiesza
    a przy drugiej funkcji nic się specjalnie nie dzieje...
    Obiekt QGraphitcsView w moim programie jest planszą do gry w statki. Jest zaimplementowana gra przez sieć i chciałbym zrobić coś takiego że jak jeden użytkownik ustawia statki lub próbuje trafiać to inny ma zablokowaną planszę...


Log in to reply