7 funcții protejate moștenită otQObject
Descrierea detaliată
clasa QDialog este clasa de bază pentru dialoguri.
Caseta de dialog - este o fereastră de nivel superior, care este destinat în primul rând pentru a efectua sarcini scurte și interacțiunile utilizatorului scurte. QDialogs poate fi modal sau non-modal. QDialogs sprijină extensibilitate și poate oferi o valoare returnată. Casete de dialog au un buton implicit. QDialog poate avea, de asemenea, QSizeGrip în colțul din dreapta jos (configurat utilizând setSizeGripEnabled ()).
Rețineți că widget-ul părinte QDialog folosește un mod puțin diferit față de celelalte clase din Qt. Dialog - întotdeauna un widget de nivel superior, dar în cazul în care acesta are un părinte, atunci în mod implicit este localizat în partea de sus și în centrul de widget-ul părinte (în cazul în care acesta nu este un widget de nivel superior în sine). De asemenea, este disponibil prin bara de activități părintelui.
Dialoguri modale
Modal de dialog - un dialog care blochează de intrare pentru alte ferestre ale aplicației. Utilizatorul trebuie să închideți caseta de dialog și închideți-l înainte de a obține acces la alte aplicații Windows. Dialoguri, solicitând o indicație numele fișierului și utilizatorul instalează setările aplicației sunt de obicei modale.
De obicei, caseta de dialog modal este afișată prin apelarea funcției exec (). Atunci când utilizatorul închide fereastra de dialog, exec () pentru comoditatea de a oferi o valoare de returnare. De obicei, pentru a închide și de a obține butonul implicit de semnal de vnacheniya corespunzătoare au fost combinate, de exemplu, „OK“, un slot pentru a accepta (), și „Cancel“ butoanele cu un slot de respingere (). Alternativ, puteți apela slotul făcut () cu acceptată sau respinsă.
Este de asemenea posibil de a provoca setModal (true) sau setWindowModality (), și apoi arată (). Spre deosebire de exec (), arată () revine imediat la controlul de asteptare. Call setModal (true) este deosebit de util pentru dialoguri care conțin dialoguri progres benzi care au exact posibilitatea interacțiunii cu utilizatorul (de exemplu, pentru a anula operațiunile lungi). Dacă utilizați show () coroborat cu setModal (adevărat), apoi periodic în timpul tratamentului, ar trebui sa apel QApplication :: processEvents (), pentru a permite interacțiunea cu utilizatorul. (A se vedea. QProgressDialog.)
Dialoguri Fără mod
dialoguri non-modale sunt afișate folosind funcția de spectacol (), care returnează imediat apelantului.
Butonul implicit
Butonul de dialog implicit - un buton care este apăsat de la tastatură utilizatorul apasă Enter (Return). Acest buton este utilizat pentru a indica faptul că utilizatorul acceptă instalarea de dialog și dorește să închidă fereastra de dialog. Pentru a configura sunt utilizate butoanele implicite QPushButton :: setDefault (), QPushButton :: isDefault () și QPushButton :: autoDefault ().
tasta Escape
În cazul în care utilizatorul apasă tasta Esc în caseta de dialog, apoi numit QDialog :: respinge (). Acest lucru face ca fereastra pentru a închide: mesajul de închidere poate fi ignorat.
extensibilitate
Scalabilitate - poate afișa un dialog în două moduri: afișarea casetei de dialog care conține cele mai frecvent utilizate opțiuni, și poate afișa imagini pline de dialog care cuprinde toate opțiunile. De obicei, prima porțiune a expandabile afișată de dialog care conține butonul indurat „Mai mult“. În cazul în care utilizatorul face clic pe „Mai mult“, atunci se afișează dialogul plin. widget Extensible redimensionează în sizeHint lui (). În cazul în care orientarea sa este Qt :: Orizontal înălțimea () widget-ul Extensible va crește la înălțimea dialogului (). În cazul în care orientarea este Qt :: Vertical. lățimea () widget-ul Extensible va crește la lățimea dialogului (). Extensibilitate este controlată de setExtension (), setOrientation () și showExtension ().
Valoarea de retur (dialog modal)
Modal piese de dialoguri sunt utilizate în situații în care valoarea de returnare, de exemplu, pentru a ști dacă utilizatorul apasă butonul „OK“ sau „Cancel“. Dialog poate fi închis cu un accept () fantă sau de respingere (apel), și apoi exec () întoarce acceptate sau respinse, respectiv. exec Apelarea () returnează rezultatul dialogului. În cazul în care dialogul nu este închis, rezultatul este de asemenea disponibil prin intermediul rezultatului ().