ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ°ΡΡΠ΅Ρ Ρ Β«ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ°Π³Π°Β», ΡΠΎ Π΅ΡΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π³Π°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠΈΡΠ»ΠΎ Π²ΠΈΠ΄Π° 10n, ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎΠ΅ ΠΊΡΡΠΏΠ½ΠΎΠΌΡ ΡΠ°Π³Ρ. ΠΡ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΡΠ΅ΠΌ Π²Π·ΡΡΠΈΡ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠ° ΠΎΡ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ°Π³Π°, Π·Π°ΡΠ΅ΠΌ ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ 10 Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ, ΡΠ°Π²Π½ΡΡ ΡΡΠΎΠΌΡ ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΊΡΡΠΏΠ½ΡΠΉ ΡΠ°Π³ ΡΠ°Π²Π΅Π½ 236, ΠΌΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ log 236 = 2.37291β¦; Π·Π°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΊΡΡΠ³Π»ΡΠ΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ 2 ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 102 = 100 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΡΠ°Π³Π° Π² ΡΠΎΡΠΌΠ΅ ΡΠΈΡΠ»Π° 10n.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π³Π° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° Π΄Π²ΡΡ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ²: 2 β’ 10n ΠΈ 5 β’ 10n. ΠΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ° ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΡΠ»Π°ΠΌΠΈ 200 ΠΈ 500. ΠΠ°Π½Π΄ΠΈΠ΄Π°Ρ 500 ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΊΡΡΠΏΠ½ΡΠΉ ΡΠ°Π³, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠΎ 200 ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ 236, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 200 Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠ°Π³Π° Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ numTicks, min ΠΈ max ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°Π³Π°. ΠΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ min ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠ½ΠΈΠ·Ρ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ min Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠΌΡ ΡΠ°Π³Ρ, Π° Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ max ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΡ Ρ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠΌΡ ΡΠ°Π³Ρ. ΠΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ numTicks ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ min ΠΈ max. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²Ρ ΠΎΠ΄Π΅ Π² ΡΡΠ½ΠΊΡΠΈΡ min ΡΠ°Π²Π½ΠΎ 240, Π° max ΡΠ°Π²Π½ΠΎ 1184, ΡΠΎ Π½ΠΎΠ²ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π΅Π½ [200, 1200] Ρ ΠΏΡΡΡΡ ΠΎΡΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ.
ΠΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π΄Π°Π΅Ρ ΠΏΠΎΡΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠΎΠ»Π΅Π΅ ΠΈΠ·ΠΎΡΡΠ΅Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠΏΠΈΡΠ°Π½ Π² ΡΡΠ°ΡΡΠ΅ ΠΠΎΠ»Ρ Π‘. Π₯Π΅ΠΊΠ±Π΅ΡΡΠ° (Paul S. Heckbert) Β«Nice Numbers for Graph LabelsΒ» (ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠΊ Π³ΡΠ°ΡΠ°), ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² Graphics Gems (ISBN 0β12β286166β3).
ΠΠ°Π½Π½Π°Ρ Π³Π»Π°Π²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π² ΡΠ°ΡΡΠΈ I. Π Π½Π΅ΠΉ ΠΎΠ±ΡΡΡΠ½Π΅Π½Ρ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Qt ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² QWidget. Π Π³Π»Π°Π²Π΅ 2 ΠΌΡ ΡΠΆΠ΅ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΡΠΎΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΠΈ ΠΌΡ Π΅ΡΠ΅ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ Π² Π³Π»Π°Π²Π΅ 6.
Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Ρ Π½Π°Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°Π½ΠΈΠΉ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Qt. Π ΡΠ°ΡΡΡΡ II ΠΈ III ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Qt, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Qt.
Π§Π°ΡΡΡ II. Π‘ΡΠ΅Π΄Π½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ QtβΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Π°Π²Π° 6. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌΠΎΠΌΡ Π² ΡΠΎΡΠΌΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ. Qt ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅: QHBoxLayout, QVBoxLayout, QGridLayout ΠΈ QStackLayout. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ, ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ QtβΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π»ΠΈΠ±ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· Qt Designer.
ΠΡΡΠ³Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π° ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Qt ΠΏΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² β Π³Π°ΡΠ°Π½ΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΡ ΠΊ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΡΠΈΡΡΠ°ΠΌ, ΡΠ·ΡΠΊΠ°ΠΌ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌ. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° ΡΡΠΎ ΠΎΡΡΠ΅Π°Π³ΠΈΡΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ. Π Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ, ΠΊΠ»Π°ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°.
Π Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ, ΠΎΡΠ½ΠΎΡΡΡΡΡ QSplitter, QScrollArea, QMainWindow ΠΈ QWorkspace. ΠΠ±ΡΠ°Ρ ΡΠ΅ΡΡΠ° ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, QSplitter ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠ³Π°ΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², a QWorkspace ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ MDI (multiple document interface β ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΈ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅.
ΠΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΠΎΡΠΌΡ: Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Find File (Π½Π°ΠΉΡΠΈ ΡΠ°ΠΉΠ»), ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° ΡΠΈΡ. 6.1.
Π ΠΈΡ. 6.1. ΠΠΊΠ½ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Find File.
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π½Π΅Π³ΠΈΠ±ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΆΠ΅ΡΡΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΠΎΡΠΌΡ ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠΎΡΠΌΡ. ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ FindFileDialog ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
01 FindFileDialog::FindFileDialog(QWidget *parent)
02 : QDialog(parent)
03 {
04 namedLabel->setGeometry(9, 9, 50, 25);
05 namedLineEdit->setGeometry(65, 9, 200, 25);
06 lookInLabel->setGeometry(9, 40, 50, 25);
07 lookInLineEdit->setGeometry(65, 40, 200, 25);
08 subfoldersCheckBox->setGeometry(9, 71, 256, 23);
09 tableWidget->setGeometry(9, 100, 256, 100);
10 messageLabel->setGeometry(9, 206, 256, 25);
11 findButton->setGeometry(271, 9, 85, 32);
12 stopButton->setGeometry(271, 47, 85, 32);
13 closeButton->setGeometry(271, 84, 85, 32);
14 helpButton->setGeometry(271, 199, 85, 32);
15 setWindowTitle(tr("Find Files or Folders"));
16 setFixedSize(365, 240);
17 }
ΠΠ±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²:
β’ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π°;
β’ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡΡΠ΅ΡΠ΅Π½Π½ΡΠΌ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ·ΡΠΊ;
β’ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠΈΠ»Π΅ΠΉ;
β’ ΡΠ°ΡΡΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΡΠΎΠΌΠΈΡΠ΅Π»Π΅Π½ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ; ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌ Π²ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠ΄Π°ΡΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, Π½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π°, Π° Π½Π΅ ΠΆΠ΅ΡΡΠΊΠΎ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΠ³Π°ΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΡ resizeEvent() Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠ²ΠΎΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²:
01 FindFileDialog::FindFileDialog(QWidget *parent)
02 : QDialog(parent)
03 {
04 SetMinimumSize(265, 190);
05 resize(365, 240);
06 }
07 void FindFileDialog::resizeEvent(QResizeEvent * /* event */)
08 {
09 int extraWidth = width() - minimumWidth();
10 int extraHeight = height() - minimumHeight();
11 namedLabel->setGeometry(9, 9, 50, 25);
12 namedLineEdit->setGeometry(65, 9, 100 + extraWidth, 25);
13 lookInLabel->setGeometry(9, 40, 50, 25);
14 lookInLineEdit->setGeometry(65, 40, 100 + extraWidth, 25);
15 subfoldersCheckBox->setGeometry(9, 71, 156 + extraWidth, 23);
16 tableWidget->setGeometry(9, 100, 156 + extraWidth, 50 + extraHeight);
17 messageLabel->setGeometry(9, 156 + extraHeight, 156 + extraWidth, 25);
18 findButton->setGeometry(171 + extraWidth, 9, 85, 32);
19 stopButton->setGeometry(171 + extraWidth, 47, 85, 32);
20 closeButton->setGeometry(171 + extraWidth, 84, 85, 32);
21 helpButton->setGeometry(171 + extraWidth, 149 + extraHeight, 85, 32);
22 }
ΠΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ FindFileDialog ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠΎΡΠΌΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 265 Γ 190 ΠΈ Π΅Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 365 Γ 240. Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ resizeEvent() ΠΌΡ ΠΎΡΠ΄Π°Π΅ΠΌ Π²ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌ, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΠ»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π° ΡΠΎΡΠΌΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΅Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
Π ΠΈΡ. 6.2. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠ΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ. ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΡΠ΄Π½ΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. Π Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΈΡΠΊ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎΠ³ΠΎ ΡΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ², Π½ΠΎ ΡΡΠΎ Π΅ΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘Π°ΠΌΡΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π½Π° ΡΠΎΡΠΌΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ Qt. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΈ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠΈΡΡΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, Π΅Π³ΠΎ ΡΡΠΈΠ»Ρ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΈΡΡΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π°.