Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Zablokowanie okna, gdy inne jest na wierzchu
QtWS25 Last Chance

Zablokowanie okna, gdy inne jest na wierzchu

Scheduled Pinned Locked Moved Polish
4 Posts 3 Posters 2.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    sukhoi191
    wrote on last edited by
    #1

    Witam!
    Szukałem na wszystkie możliwe sposoby, ale nie znalazłem rozwiązania. Otóż załóżmy, że mam dwa okna. Po naciśnięciu przycisku w oknie A, pojawia się okno B. Metoda setParent() mnie nie zadowala, bo wówczas okno B staje się nieodrębną częścią okna A. Chcę jedynie, by okno A zostało zablokowane, dopóki użytkownik nie wyłączy okna B, a mówiąc "zablokowane", mam na myśli to, że nie będzie mógł wykonać na nim żadnej akcji (także go przesunąć ani zamknąć), coś takiego ma miejsce, gdy pojawia się MessageBox. Żeby jeszcze bardziej rozjaśnić, w C++ Builder można było to osiągnąć poprzez np. instrukcję MainWindow->Enabled = false - wówczas okno było widoczne, ale użytkownik nie mógł absolutnie nic z nim zrobić. Z góry dziękuję za odpowiedź!

    1 Reply Last reply
    0
    • sierdzioS Offline
      sierdzioS Offline
      sierdzio
      Moderators
      wrote on last edited by
      #2

      W Qt mówi się o modalności okien. Sprawdź klasę QDialog, lub popatrz na właściwość modal w "QWidget":http://qt-project.org/doc/qt-5.0/qtwidgets/qwidget.html#modal-prop.

      (Z(:^

      1 Reply Last reply
      0
      • S Offline
        S Offline
        sukhoi191
        wrote on last edited by
        #3

        Dzięki za odpowiedź, dokładnie o to chodziło!
        W razie, gdyby ktoś miał podobny problem, rozwiązaniem jest zastosowanie metody setWindowModality() z parametrem Qt::ApplicationModal.

        1 Reply Last reply
        0
        • tomasz3dkT Offline
          tomasz3dkT Offline
          tomasz3dk
          wrote on last edited by
          #4

          Ewentualnie jak komuś się w kodzie nie chce klepać to bezpośrednio można w designerze ustawić modalność danego okna.

          1 Reply Last reply
          0

          • Login

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved