Π ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π»ΠΈ ΡΠ°Π·Π½ΡΠ΅ ΡΠ»ΠΎΡΡ ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»ΠΎΡΠΎΠ² ΠΊ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ.
β’ Π ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡΠΎΠ²:
connect(slider, SIGNAL(valueChanged(int)),
spinBox, SLOT(setValue(int)));
connect(slider, SIGNAL(valueChanged(int)),
this, SLOT(updateStatusBarIndicator(int)));
ΠΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΡΠ»ΠΎΡΡ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΡ Π²ΡΠ·ΠΎΠ²Π° Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½.
β’ ΠΠ΄ΠΈΠ½ ΡΠ»ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ:
connect(lcd, SIGNAL(overflow()),
this, SLOT(handleMathError()));
connect(calculator, SIGNAL(divisionByZero()),
this, SLOT(handleMathError()));
ΠΠ°Π½Π½ΡΠΉ ΡΠ»ΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°.
β’ ΠΠ΄ΠΈΠ½ ΡΠΈΠ³Π½Π°Π» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ:
connect(lineEdit, SIGNAL(textChanged(const QString &)),
this, SIGNAL(updateRecord(const QString &)));
ΠΡΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠΈΠ³Π½Π°Π». Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ²ΡΠ·Ρ Β«ΡΠΈΠ³Π½Π°Π» β ΡΠΈΠ³Π½Π°Π»Β» Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠ²ΡΠ·ΠΈ Β«ΡΠΈΠ³Π½Π°Π» β ΡΠ»ΠΎΡΒ».
β’ Π‘Π²ΡΠ·Ρ ΠΌΠΎΠΆΠ½ΠΎ Π°Π½Π½ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ:
disconnect(lcd, SIGNAL(overflow()),
this, SLOT(handleMathError()));
ΠΡΠΎ ΡΠ΅Π΄ΠΊΠΎ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π΄Π΅Π»Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Qt Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ±ΠΈΡΠ°Π΅Ρ Π²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
β’ ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΎ ΡΠ»ΠΎΡΠΎΠΌ (ΠΈΠ»ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ) ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΡΠΈΠΏ:
connect(ftp, SIGNAL(rawCommandReply(int, const QString &)),
this, SLOT(processReply(int, const QString &)));
β’ ΠΠΌΠ΅Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: Π΅ΡΠ»ΠΈ Ρ ΡΠΈΠ³Π½Π°Π»Π° Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ΅ΠΌ Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡΠ°, ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ:
connect(ftp, SIGNAL(rawCommandReply(int, const QString &),
this, SLOT(checkErrorCode(int)));
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ ΡΠΈΠΏΡ Π»ΠΈΠ±ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π» ΠΈΠ»ΠΈ ΡΠ»ΠΎΡ, ΡΠΎ Qt Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΅ΡΠ»ΠΈ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠ»Π°ΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Qt Π²ΡΠ΄Π°ΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ Π² ΡΠΈΠ³Π½Π°ΡΡΡΠ΅ ΡΠΈΠ³Π½Π°Π»Π° ΠΈΠ»ΠΈ ΡΠ»ΠΎΡΠ° Π±ΡΠ΄ΡΡ ΡΠΊΠ°Π·Π°Π½Ρ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ΅ΡΠ°ΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Qt
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ² ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Qt ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° Π‘++ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΡ Π΄ΡΡΠ³ ΠΎ Π΄ΡΡΠ³Π΅.
ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠ°ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΠΎΠ½ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ² ΠΈ Π°Π½Π°Π»ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (introspection). ΠΠ½Π°Π»ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ² ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Β«ΠΌΠ΅ΡΠ°ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΒ» ΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°Ρ QObject Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠ»ΠΎΡΠΎΠ² ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° (Π΄Π»Ρ Qt Designer) ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π°ΡΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π² Qt (Qt Script for Applications β QSA).
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π‘++ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΌΠ΅ΡΠ°ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Qt. Π Qt ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ΅Π½Π° Π·Π° ΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° moc, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ Q_OBJECT ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π‘++. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ moc ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β«ΡΠΈΡΡΠΎΠ³ΠΎΒ» Π‘++, ΠΌΠ΅ΡΠ°βΠΎΠ±ΡΠ΅ΠΊΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Qt Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Π‘++.
ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
β’ ΠΌΠ°ΠΊΡΠΎΡ Q_OBJΠΠ‘Π’ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ΅ QObject: metaObject(), tr(), qt_metacall() ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅;
β’ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ moc Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠ°ΠΊΡΠΎΡΠΎΠΌ Q_OBJECT, ΠΈ Π²ΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²;
β’ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈβΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° QObject, ΠΊΠ°ΠΊ connect() ΠΈ disconnect(), Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ.
ΠΡΠ΅ ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ qmake, moc ΠΈ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ QObject, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π²Π°Ρ ΠΊΡΠ°ΠΉΠ½Π΅ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΠΊΠ»Π°ΡΡΡ QMetaObject ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π‘++, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ moc.
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΠ³Π½Π°Π»Ρ ΠΈ ΡΠ»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ. ΠΠΎ ΡΠ°ΠΌ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΊΠ»Π°ΡΡΠ΅ QObject, ΠΈ Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ΅ QObject:
01 class Employee : public QObject
02 {
03 Q_OBJECT
04 public:
05 Employee() { mySalary = 0; }
06 int salary() const { return mySalary; }
07 public slots:
08 void setSalary(int newSalary);
09 signals:
10 void salaryChanged(int newSalary);
11 private:
12 int mySalary;
13 };
14 void Employee::setSalary(int newSalary)
15 {
16 if (newSalary != mySalary) {
17 mySalary = newSalary;
18 emit salaryChanged(mySalary);
19 }
20 }
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΠΎΡΠ° setSalary(). ΠΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π» salaryChanged() ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ newSalary ! = mySalary. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΈΠΊΠ» Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠ»ΠΎΡΠΎΠ².
ΠΡΡΡΡΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½
Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Qt ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Β«Π²ΡΡΡΠ½ΡΡΒ» ΠΈ ΡΡΠΎΠ±Ρ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ» ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ΅Π½; ΠΈ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Qt Π½Π° Β«ΡΠΈΡΡΠΎΠΌΒ» ΡΠ·ΡΠΊΠ΅ Π‘++. ΠΡΠ΅ ΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Β«Π²ΡΡΡΠ½ΡΡΒ», ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π»Π΅Π³ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½.
Qt Designer ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Qt Designer ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ ΠΈΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π€ΠΎΡΠΌΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Qt Designer, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Π‘++, ΠΏΠΎΡΡΠΎΠΌΡ Qt Designer ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ ΠΎΠ½ Π½Π΅ Π½Π°Π»Π°Π³Π°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Qt Designer Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (ΡΠΌ. ΡΠΈΡ. 2.4), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠΌ Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ (Go-to-Cell dialog). Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Qt Designer ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π³ΠΎΠ²:
β’ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ²;
β’ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ;
β’ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΠΊΠ»Π°Π²ΠΈΡΠ΅ ΡΠ°Π±ΡΠ»ΡΡΠΈΠΈ;
β’ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Β«ΡΠΈΠ³Π½Π°Π» β ΡΠ»ΠΎΡΒ»;
β’ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»ΠΎΡΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.
Π ΠΈΡ. 2.4. ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π·Π°Π΄Π°Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Qt Designer Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Qt by Trolltech v4.x.y | Designer Π² ΠΌΠ΅Π½Ρ Start ΡΠΈΡΡΠ΅ΠΌΡ Windows, Π½Π°Π±Π΅ΡΠΈΡΠ΅ designer Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Unix ΠΈΠ»ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ Designer Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Mac OS X Finder. ΠΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ° Qt Designer Π²ΡΠ΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ². ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Β«WidgetΒ», Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ. (ΠΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Β«Dialog with Buttons BottomΒ» (Π΄ΠΈΠ°Π»ΠΎΠ³ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΉ ΡΠ°ΡΡΠΈ), Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK ΠΈ Cancel Π²ΡΡΡΠ½ΡΡ.) ΠΡ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΎΠΊΠ½ΠΎ Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ Β«UntitledΒ».
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Qt Designer ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΊΠΎΠ½ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² ΡΡΠΈΠ»Π΅ MDI Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ Edit | User Interface Mode | Docked Window.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΈΡ Π² ΡΠΎΡΠΌΡ. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄Π½Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΊΡ, ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΠ΄Π½Ρ (Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΡ) pacΠΏΠΎΡΠΊΡ (spacer) ΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ. ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΎΠΊΠ½Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Qt Designer Π½Π° ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΡΠΎ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ. ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΡΠΏΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎΡΠΌΡ, Π² QtDesigner ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠ½Π΅ΠΉ ΠΏΡΡΠΆΠΈΠ½ΠΊΠΈ.