people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

23

Upload: others

Post on 21-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

������������

�������� ������ �� ������������������������������������������������������������������������������������������������������������������������������������ ���� ��! ���"����������������������������������������������������������������������������������������������������������������������������������������������������� ����� ���������� ����#$��� ������������������������������������������������������������������������������������������������������������%�����! ���"� &����#�������'���������������������������������������������������������������������������������������������������������������������������%(��"�������������������������������������������������������������������������������������������������������������������������������������������������������)

*+��,��! ���"� &-� � �,��� �����.���/ 0�����1� ��#���#����'���������������������������������������������������������������)(���"��2������������������������������������������������������������������������������������������������������������������������������������������������������������)� (��� ����� "���#�$�3 ������������������������������������������������������������������������������������������������������������������������������4� (��� ����� �������#�$�3 ��������������������������������������������������������������������������������������������������������������������4�� �������� �1������� �����������������������������������������������������������������������������������������������������������������������������5-� � ��� ����������������������������������������������������������������������������������������������������������������������������������������������5-� � ��� "���#�$�3 ����������������������������������������������������������������������������������������������������������������������������������������6-� � ��� �������#�$�3 � ����������������������������������������������������������������������������������������������������������������������������6�� �������� ��� ��� � � ����������������������������������������������������������������������������������������������������������������������������7(��"��/ ���������������������������������������������������������������������������������������������������������������������������������������������������78��3���������/ �9�1:������� ���$������������������������������������������������������������������������������������������������������;<

*=�����! ���"� &>�#����� ���9���������'������������������������������������������������������������������������������������������������������;<=����� 8�#������������������������������������������������������������������������������������������������������������������������������������������������;<8��3���������/ �9�1:������� ���$������������������������������������������������������������������������������������������������������;;� (��� ����� "���#�$�3 � =����� ������������������������������������������������������������������������������������������������������;;� (��� ����� �������#�$�3 � =����� ��������������������������������������������������������������������������������������������;?�� �������� �1������� ���������������������������������������������������������������������������������������������������������������������������;��� �������� ��� ��� � � ��������������������������������������������������������������������������������������������������������������������������;�(��"��/ �������������������������������������������������������������������������������������������������������������������������������������������������;�

�������� ������ �� >���#����������������������������������������������������������������������������������������������������������������������������;�*@��"! ���"� & ����.! �������#�$�3 � � ���������'�������������������������������������������������������������������������������;�A�� ��� �����.�������������������������������������������������������������������������������������������������������������������������������������������;%(1�,��� �����.��� &(���'��������������������������������������������������������������������������������������������������������������������������;%B�����1� ��.�������������������������������������������������������������������������������������������������������������������������������������������;)8�� ���#� ��������� &=�����'������������������������������������������������������������������������������������������������������������������;)(1������� �����.��� &���#�$��'���������������������������������������������������������������������������������������������������������������;)B����3 ,�����������������������������������������������������������������������������������������������������������������������������������������������;4�#��@��"&' �9��0�#������������������������������������������������������������������������������������������������������������������������������������;4�#��&' �9��0�#�����������������������������������������������������������������������������������������������������������������������������������������������;4� ��#����� ���$���� ���������!���������������������������������������������������������������������������������������������������������������;5-� � ��� ,�0�������������������������������������������������������������������������������������������������������������������������������������������;5�� �������� ��� ��� � � � &C��"����'�����������������������������������������������������������������������������������������������������;5(��"��/ �������������������������������������������������������������������������������������������������������������������������������������������������;6

*=����# D# � ��������! ���"������������������������������������������������������������������������������������������������������������������������;6A�� ��� �����.�������������������������������������������������������������������������������������������������������������������������������������������;6(1�,��� &8���8��#' �����.����������������������������������������������������������������������������������������������������������������������;6B�����1� ��.�������������������������������������������������������������������������������������������������������������������������������������������;7-�E0��"�,�� &F�G� �"��'������������������������������������������������������������������������������������������������������������������������������;7B��� ���, &A�. H����#' ���������������������������������������������������������������������������������������������������������������������������;7=�> �� ���1 &=�> #��,��'�������������������������������������������������������������������������������������������������������������������������;7� ������� ���9��� ��� ���#��#�� ��,����� &=�����'��������������������������������������������������������������������������;7

�=F� �#���������� I�� ;� ��"��

Page 2: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

I��"� .���� &F�G� =�,��' ���������������������������������������������������������������������������������������������������������������������������;7� 0���� �E�,�.�����3 ����� &H����# J����'���������������������������������������������������������������������������������������������;7=�.����� 0����� &K�"�� H����#'������������������������������������������������������������������������������������������������������������?<����#"��� &=�����'2 ������������������������������������������������������������������������������������������������������������������������������������?<�IE0�����1! ���,���������������������������������������������������������������������������������������������������������������������������������������?<�� ������ ��� ����#"���� � ��,���"�,����# ����������������������������������������������������������������������������������������?<� ��,���"�,��� �9�����#�� �������� ����������������������������������������������������������������������������������������������������?<�� ��� � � ��#��� ���������������������������������������������������������������������������������������������������������������������������������������?;(1������� �����.��� &���#�$��'���������������������������������������������������������������������������������������������������������������?;(��"��/ �������������������������������������������������������������������������������������������������������������������������������������������������?;F�##�0��3�����������������������������������������������������������������������������������������������������������������������������������������������������??-� � ��� ,�0�������������������������������������������������������������������������������������������������������������������������������������������??-��#����� ���$������ �������������������������������������������������������������������������������������������������������������������������??

� ��#���9��� ������� �� ���E��.��1� � ��������#�������.��#�$���������� �$� $���1��

� ��#���9���,�# ,��������� ��������� ���������� � �� ����; : �� .��#�����

I��������2 -��,3#� +�$� K�����

�����2 #�$�L�#�������.�

.�#���2 ��������#�������.��#�$�

=��������2 A�#�$��� I�����#�

H�"����/ ?<<) ��$��

�=F� �#���������� I�� ?� ��"��

Page 3: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�� ������� ������� �� ������� ��

� �� ��� ������������� ��� �3"�/ �������� �9������#/ �E,,#���0M ���������� �� ������.��� � ������#���� ��,0#�� ���:� �3",�# ���9�#��/ ����� ���� ��#"�#9�� ���.��#�.��3��/ �.�� ,����� ����:� ��������

� � �������� �� ���������� � � ����������������� �����������

� ��#���9��� ��1 ����,�# ��� ���$�! ���"# ������9� ���������"9#� �� ���E�E����/ �� " �����9#� ���#����,,/ ��� �,���� ����������

������ ��� ���

�������� I�����# �� �� �"��� ���������# ������.��3 � ���� ��! ��������� � ��������� �������0���

� � ���� ��! �������� =�#�G �����

������

#include <qapplication.h>#include <qlabel.h>

int main(int argc,char **argv){

QApplication app(argc,argv);

QLabel *label = new Qlabel("Hello Qt!",0);

app.setMainWidget(label);label->show();return app.exec();

}

� � � ��� ��� ,������� 9� �� ��������,�# .��#�� ������� "���#�$�3 �� � �1�������,�# &������' ��1�E������.���#� ��� ����������� &��������' �, ������� &���' �� �������� ��1������#�� ���������� ���������� ��#�������,�# ��" �� �� �� �/ �� � �������������/ ����#��"0� � ����#$��� ������#�������������� ����# �����.���#� ���/ � ��0#� �E0���� ��� ���#��1 ����� &$����' C�"���;:�� &����'/ �� "����" ��/ .��� �� � $���� �����# �� ���������#� �1�,���� &����� ������'� � ����� ��#�������#����"�� ����������,�# ������1 < ����� ��� ����/ .��� �� � C�"��� ��� E#��3/ � � ���# �����1 �,���/ � #�#$�9�1 �,����� �� ��� ��1�������� C�"���:�� &�,�����' �����9� � �����#�1�� &�����'� �������������,�# �C�"���:�� #�� ��.��3��� N����,�# ��1�E� � ���3��,�# ������� 9� 1���/ $�� ����# ���9� �� ������#�1��/ ���� ����� �����9� 9�/ .��� � C�"��� ��.���������� 0����� �# � �����#�1� B������9� ���.�0 �� ���������� ���� ���3"��� �� ���� ! ������0�� �� �������� �����#���� ������,�! ���9� � � #��� �3�3����#����� 0������� &����� ������'� � ���3 �������� ����������# ���"������� � .��� �����1����#����� ��#"�""��/ ���� ,� #�� �� �� �� �������� �1�,����� � �1�,��� ,������� � C�"��� ����"���� ���3��,3� � ���#��� � �����#�1�1� ��

� ������ � ���������� ������ ������� ��

�=F� �#���������� I�� �� ��"��

Page 4: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

� ����� ��#�������,�# F8= ����� ������� ��.�� 9� ��#��,,� � �E0�����QLabel *label = new QLabel("<h1><i>Hello</i><font color=red> Qt!</font></h1>",0);

�� ���� ������������ ���������� ���������

;� ���� ����� � ����� ���E#�0�����?� J���� � ,� � ��#�� ��������� � ��������� � �,� � ��#�� �� ��� � ����� ���E#�0��,���� =����# � ����� ���E#�0��,�#�%� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &.��������'�)� � $���� %� '���(��� ��������� ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ����? � � ��4� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���'5� �)������ � ���������� &=�#�G2 �*�����O @�#"�C2 �����'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$��.���� $���1��

������ ��� ��������������

�,,�# � ���",�# �������� ��/ .����# �0�����.���#�! � ���.��#�3 ���� ���"���#������ ����#������ ���������� �������# ���,,3� �� &�� � ���, ��� �� �������� �1�,����'� � ���,�� �����#�0� &����������� �!' �� �������� �,���� ,����� &�� � �! ����������'� � �1�,��� ,������� � �1�,��������������# �E��1"�� � ���3��,3� � ���M#�� � �����#�1�1� �� � ���"� #����# .��#��� �� ��1�1.E�/ $�� ���$���� &�����' .������ ���,,�� &+)��,)����' "������#��

� �����! �������� =�#�G �����

������

#include <qapplication.h>#include <qpushbutton.h>

int main(int argc, char *argv[]){

QApplication app(argc,argv);QPushButton *button = new QPushButton("Quit",0);QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));app.setMainWidget(button);button->show();return app.exec();

}

� �� C�"���:�� 9��#������ &��#�����' ,�$��#�� ��/ .� ���0������� �� ��������/ 0��� ��� � �� 0�#�����3���.��#�3� ����#� &��� ���� �����#�' �E0�������� ,�� � ��� ��#�� E���E�9#� ��� �9��0�##��� &������'/����� � ��#� ,��E0���������� �� � �9��0�#� �����������# 0����.� �3"��� ��� ��#�.�� �E,, ����#� ��E�.��1� ����#��� � �9��0�#��� 0����.� �� ����#" � #�� "���#����

? 2 � 8������� ��� ����# $���� � �/ ����� �� �"��� ��� ��� ������#�� �����"���/ E������������ 0�����

�=F� �#���������� I�� %� ��"��

Page 5: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

� ���"�,��� ������� �9��0�#�,�# � �)���� C�"��� ������� ! ��#� � �E�E��9� E�� �� ��� �, ����� $)�� !��� 0��� (����� 9� ���/ .��� � ,����# � �� ��� �, ����� $���� �"��� ���

�����������������;� ���� ����� � $)�� ���E#�0�����?� ���� ����� � �������� � �� � ��#�� �� � $)�� ���E#�0��,���� =����# � $)�� ���E#�0��,�#�%� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &$)������'�)� � $���� %� '���(��� $)������ ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ���� � � ��4� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���'5� �)������ � ���������� &=�#�G2 �*$)��O @�#"�C2 $)��'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$��P��� $���1��

!��"���� ��� �#�$�� �"��� ���� �����% &����'� ����������������

��������

I����9� �� ��� �� ���������/ ����� ��� ����3�/ ��� $���� � ��� �E0��"�,��� ���������� �,��������# ,������#� ��� �"��� �������/ � �E,,� 0�����1 �����������# �� �# � � ,�������� ��������

� �+��,��! �������� =�#�G �����

��1�E� ������� 9� � �1�,����� �������#��3 (��� ������� � �1�������,�# &����' �����.����� � ���� �������� ���"#��/ ������ ��#�0��9#� �� �������� �1�,���#�� &����� ������'/ �����9� � �����#�1�� &�����'/ �� " ���#"�� �� �� ��������� &����'�

� �1�,����� � -,��. C�"���:,1� �������� ��� � �1�,����# ��.������9� � /���,�� &���"��'/ /�����&���#' � � ����0��� &���$���' 0�����1����

� H�G2 B����#���# &.����#����#' .������ �� �� ���������BH�G2 (9��1�����# &0��������#' .������ �� �� ���������

�=F� �#���������� I�� )� ��"��

Page 6: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�� �������� ��"�����������%

� ���� ������ �����������

(���� ����"����

#ifndef FORM_H#define FORM_H#include <qwidget.h>#include <qvbox.h>

class QHBox;class QSpinBox;class QSlider;class QLineEdit;

class Form: public QVBox{public:

Form(QWidget *parent=0, const char *name=0);private:

QHBox *hbox;QSpinBox *spinBox;QSlider *slider;QLineEdit *lineEdit;

};#endifA Form osztály implementációja

� ���� ������ ���������������

(����� ����"����

#include <qhbox.h>#include <qspinbox.h>#include <qslider.h>#include <qlineedit.h>

#include "form.h"

% : : : : :Q �� *�#$��"�:��! ��E��

�=F� �#���������� I�� 4� ��"��

Page 7: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

Form::Form(QWidget *parent, const char *name) :QVBox(parent,name){setMargin(6);setSpacing(6);

hbox = new QHBox(this);lineEdit = new QLineEdit(this);hbox->setMargin(6);hbox->setSpacing(6);

spinBox = new QSpinBox(hbox);slider = new QSlider(Qt::Horizontal,hbox);slider->setRange(0,10); // intervallumspinBox->setRange(0,10); // intervallum

spinBox->setValue(5);

connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));

}

�,,�# � �������,�# � ������� �9��0�#�.�0#� #�� �9���� �E�0����#9� ����#�/ .��� �� � �9��0�#� �1�&��� ����� ���3"��/ ���� � -,�� ��� 1�&���:,1� ����������� �����/ � ��� � ���������M �.�0������

�� �� ������� ����������

������ ����"����

#include <qapplication.h>#include "form.h"

int main(int argc, char *argv[]){

QApplication app(argc,argv);Form *form = new Form;app.setMainWidget(form);form->show();return app.exec();

}

���� ���� �� ��������

��� �����#�#�/ .� � �E0��"�,��,�# �����������# ��� ���##� � ��0������� �� �E0��� ����,�#/�����0�/ .� ,������9#� �E0����# ��� ����/ ����� � /���,�� � � /����� ������ �����������# �,������� �E0�� ����#�� ������� ������ �..�� � �,, ���$�������� ���� �������#�/ ����,�# ��� � ���,��/��� � ����� ���0�������� �����������# ���0������ � ��� ���#����� �E0��� � ����0��� �����#��#�#$ ����# ,�������� ��� �/ "� � �� ����#��"� � � ��#��� � ����� ,���������� ��

������9� �� � � �1�,����� �������#��3 ���� ������ � �� �E0���� ��� ���#��1 �����2��� ���! �������

�=F� �#���������� I�� 5� ��"��

Page 8: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

���� ���� �����������

(���� ) �*�������

#ifndef FORM_H#define FORM_H#include <qwidget.h>#include <qvbox.h>

class QHBox;class QSpinBox;class QSlider;class QLineEdit;

class Form: public QVBox{

Q_OBJECTpublic:

Form(QWidget *parent=0, const char *name=0);private:

QHBox *hbox;QSpinBox *spinBox;QSlider *slider;QLineEdit *lineEdit;

QString words[11];void initWords();

public slots:void sayAsWord(int i);

};#endif

� ��0���� ���������3 ���0� �E�, &%&�#��� ��#�'��(' � �� ��� �#�$������3 ����2���� ! ���0� �9��0�#�������� ��,���� �����#� "���#�� �� � �����2��� ���! �9��0�#��� B���9� ����/ .��� � ���,��$ ���!���$�3 #�� #���0� ����� � ��#"��" ��� #���0#��� ����,1� �� ������,1� ��� ��1���"��3 &��$2 ���� �, �$�$�������' ����� � ��� ���� ��������.��1 �3"��� � ���,��$ ���! .��#���� ����� � "���#�$�3 � �,� ,� ������� ��##� � 31,40567 ����3� �� �� � ����3 ����������� ����#�� � �9��0�#���#�� � "�����$�3 �/��������� ���.��#�0� � ��� ����#��� � ������ � �9��0�#�����/ ���������� ���� �"1,�# ��#���.��1� � ����#���0� �#����$�3��

���� ���� ���������������

(����� ) �*�������

R�#$��"� SP.,�G�.QR�#$��"� SP��#,�G�.QR�#$��"� SP��"���.QR�#$��"� SP��#��"���.Q

R�#$��"� T�����.T

) � *�U, �$�22$�##�$�2 +� �$. ��� �@�"���22���@��"&�#�'! 9��#���� ���/ ����� 0��3��#M��� ������ ����� ,���##� �.��"�� � �,� � �VUHW��F ����3��

�=F� �#���������� I�� 6� ��"��

Page 9: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

(���22(���&�@�"��� X����#�/ $�#� $.�� X#���'2�BH�G&����#�/#���' Y��8����#&4'O��-��$�#�&4'O

.,�G Z #�C � H�G&�.�'O��#��"�� Z #�C �=�#��"��&�.�'O.,�G:Q��8����#&4'O.,�G:Q��-��$�#�&4'O

��#H�G Z #�C �-��#H�G&.,�G'O��"�� Z #�C �-��"��&��22 �����#���/.,�G'O��"��:Q��K�#��&</;<'O��#H�G:Q��K�#��&</;<'O

$�##�$�&��"��/-�J+�=&0�����.�#��"&�#�''/��#H�G/-=UF&��B����&�#�'''O$�##�$�&��#H�G/-�J+�=&0�����.�#��"&�#�''/��"��/-=UF&��B����&�#�'''O$�##�$�&��"��/-�J+�=&0�����.�#��"&�#�''/�.�/-=UF&���@��"&�#�'''O 4

�#��@��"&'O��#H�G:Q��B����&)'O

[

0��" (���22���@��"&�#� �'Y

��#��"��:Q��F�G�&C��"\�]'O[0��" (���22�#��@��"&'Y

C��"\<] Z T#���TOC��"\;] Z T�#�TO� � �C��"\;<] Z T��#TO

[

�� �� ������� ����� � ������

+���9� ��� � P���� ���E���� ��#���� ��� ��� ����3 � ���

���"������

TEMPLATE = appINCLUDEPATH += .# InputHEADERS += form.hSOURCES += form.cpp main.cpp

��������! ��������

;� ���� ����� � �)����� ���E#�0�����?� ���� ����� � (�����/ (�������/ �������� � ����� � ���� � ������ � �)����� ���E#�0��,�#��� =����# � �)����� ���E#�0��,�#�%� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &�)���������'�)� � $���� %� '���(��� �)��������� ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ���� � � ��4� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���'5� �)������ � ���������� &=�#�G2 �*�)�����O @�#"�C2 �)�����'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$��#��,�� $���1��

4 ���� $�� � ��"��:� .����E�#�/ ���� .� � ��#,�G:�� 0������� ��/ �� ���0������� � � ��"��:� ��

�=F� �#���������� I�� 7� ��"��

Page 10: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

"������ ������! ��#��$���� ��������

� ���#���9� � ��������#���/ ����� ��� �� ��/ .��� ��� .����# .��#���� � ��� ��������/ � �.�� ����,�"������� ��� �� ��� ��������� ��.������ J������ ���������� ���������� #����# �� C�"���:�� ���������#�� ������ ����,�# � ��,�" �����9����# &.���'/ #�C ���������� .����� ������ �� �""��� ��������#�����#� ������ �� �������� 0�������� �� � �����#� �E�E�#� � ���3��,3�� � 0�����1� .��#��� ��#������������� ����� � �� ��9�1:������� ��$.�#�����!/ ����#�� ��#���� � �E0�����12

� � ��� C�"���:�� �E��9#�/ ����� �E����� ���9� �##�� 0�����##�� ���������

� FE�E�� C�"��� ���M#�� � �����#�1�1��

� � �1�,�����#� ������ C�"��� ,���#� �E��1"���

� ��#�� 0�����"�,1� �� �E0�������/ .��� #��9#� $�� ����# C�"���:�� �E�����1� ���� ��#"���"#�#�/��������� ��� ���������� .����#� �����/ � ��� ���� ��8�"&��

�� ��,,� ,�� � *�)�����9 ������� ���� ������ �9�1:������� ���$����� ����� ��

A�������#�,�# � -,�� 0��� � �1�,���/ ��� �##�� ,������� 0�����##�� �����#� �����.����� ���� �E��1"��� ��,�" ��.����1� &.���'�

+������ ��� �,�������� (��-����������

%���� "�����

�� ��1�1 ���",�# � -,�� � � :,�� C�"���:�� .��#���� � 0�����1 ������ ������� � 0�����1������E�������,, ��.��������� � ��� ���#������ �� ���������� ���������� � ����$��#��� � ���� ����)������� � �##�� ���������� ��� &� H�G=�����/ �BH�G=�����' ��"��� .��#�#�� � ����)� ����� ��##�� ���������� �� ����,3� #�� C�"���:��/ "� � �� � �M�E"�� � �9�1:������� ��$.�#����� �����)� ����� ��� #����# ��#�� ���� "�#��/ .��� .� ��� C�"���:�� ���9#� �/ ����� � C�"��� �9�1 �0��������# ����"/ .� ����)�:�� ���9#� �/ ����� �##�� �9�1 � �� ����)� ���/ ������� �����9� �� � ����)� ������� � :,������)� 0����#���#/ � -,������)� �9��1�����# ��#"��� �� � ,�##� ��������������

�=F� �#���������� I�� ;<� ��"��

Page 11: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

"������ ������! ��#��$���� ��������

) *� �� ��� ������� ���+,�!#�� �-��!����,�� �#���.#�� �� �+�+ � ������ �����������-������,� �#���.#�/��0

� ���� ������ ����������� %���� ���������

(���� ��������

#ifndef FORM_H#define FORM_H

#include <qwidget.h>

class QSpinBox;class QSlider;class QLineEdit;

class Form: public QWidget{

Q_OBJECTpublic:

Form(QWidget *parent=0, const char *name=0);

�=F� �#���������� I�� ;;� ��"��

Page 12: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

private:QSpinBox *spinBox;QSlider *slider;QLineEdit *lineEdit;QString words[11];void initWords();

public slots:void sayAsWord(int i);void slotTextChanged ( const QString & );

};#endif

� ���� ������ ��������������� %���� ���������

(����� ��������

#include <qlayout.h>#include <qspinbox.h>#include <qslider.h>#include <qlineedit.h>#include "form.h"

Form::Form(QWidget *parent, const char *name):QWidget(parent,name){

spinBox = new QSpinBox(this);slider = new QSlider(Qt::Horizontal,this);slider->setRange(0,10);spinBox->setRange(0,10);lineEdit = new QLineEdit(this);

�QHBoxLayout *topLayout = new QHBoxLayout; //nincs szül jetopLayout->addWidget(spinBox);topLayout->addWidget(slider);

QVBoxLayout *mainLayout = new QVBoxLayout(this);

mainLayout->addLayout(topLayout);mainLayout->addWidget(lineEdit);mainLayout->setMargin(11);mainLayout->setSpacing(6);

connect(slider,SIGNAL(valueChanged(int)),spinBox,SLOT(setValue(int)));connect(spinBox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));connect(slider,SIGNAL(valueChanged(int)),this,SLOT(sayAsWord(int)));

initWords();spinBox->setValue(5);

}

�=F� �#���������� I�� ;?� ��"��

Page 13: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

void Form::sayAsWord(int i){

lineEdit->setText(words[i]);}

void Form::initWords(){

words[0] = "null";. . .words[10] = "ten";

}

�� �� ������� ����������

� ���#�$�� 0��������# ����"�

�� �� ������� ����� � ������

���������

TEMPLATE = appINCLUDEPATH += .

# InputHEADERS += form.hSOURCES += form.cpp main.cpp

��������! ��������

;� ���� ����� � ����)� ���E#�0�����?� ���� ����� � (�����/ (�������/ �������� � ����� � ���� � ������ � ����)� ���E#�0��,�#��� =����# � ����)� ���E#�0��,�#�%� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &����)�����'�)� � $���� %� '���(��� ����)����� ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ���� � � ��4� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���'5� �)������ � ���������� &=�#�G2 �*����)�O @�#"�C2 ����)�'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$�������� $���1��

�� ������� ������� �� &���������

.����� ��� � ���� � �����������*� (�$� ������������

� � ;��� ��� % ������ �#����� ��# � ���� ��� ����#$$�� ��.�� ���#"���#� : ������� ���9����� ���0�����������3 &�� ����#���' 0����� ���E�� � � ;��� ��� T����#���T ��� <'� �����/ �)� ����� ����M�E0��� � �/ ����� � ������� ���9��� "���#�$�3 � ������������ ��� �������� ����������� � ��� ���.����#"��� �)� � �,3� �� )�� &�# ���#��� ������#' �������� �� �,����� �������#��3 ������ ���0��3��3 �� � ���� � �����/ ������ ,���9�#�� ��� ���9#�,�� B���9� ����/ .��� ������ � � ����� �� )�� ������&� =!/ ������� � � ��� � ������� ���9��� �3"������� ��#"�# ���,�# � �� ����� E##��/ ����� �� �������� ��$������M�E"�� ����,�# � � ���,�# #�� ��.�� ����"#��

� � ;��� ���:,�# �� ����� ��.����� ��$.#��� �� ��)���! �������#�$�3 � � .��#����� �,,�# �

�=F� �#���������� I�� ;�� ��"��

Page 14: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�����",�# � ������� ���9��� "���#�$�3 � ���������3 (����)� � � ������� ����� E# � (����)��� ��������������� �� �� �������� ��$����� �9��0�#�����/ ��#����� � ������� �,,�# �� �������#�$�3 � �,�# �".�� ������ ��� � � �� �� )�� &�# ���#��� ������#' �����������# ,�������� � (��� ������ (������� � � ,�� &1-��� ���#2�� ��� ## � ������ # 3 -������ -3 ����0' �� �������� ���# �������� 0�#�����3 ������/������#�� ��������� �3"�# � .��"�� � ���,�# 0�# � .���9� &��� 0����3�'/ �� ^8= � �,� ���9�#��/ �� " ��)�� ��#��� � � ��������1 ��� �3"�� � .������ �� ��� � �����.:,�#�

� (����)��� � � $�� � ���.��#�3� ����� �������������&�� ������������ � ������)����� � � �����)�������0,,�� � � �� >���#�� ��#��� �/ ��� � ���.��#�3#�� #�#$ ���� �3" �/ .��� ��� 0������ �� � ���"���,���������/ 0��� ��� ������# ��#"��! ���� ��# �� �, ����� ����M#������ ��� � ���,���� ��� ��"���� ���/.��� ���##��,�# �� )��� � �,�# �������#�� �� � ���������� ! �����/ ����� �� �����������# 0����.� �3"��/���#� �� �, ����� ����� E#� ��#�3�# � ������������� ! ��� ���.�03"�� � "�������� 0����.� �� ��1���

'���� � �����(����� ����#� ����� ��� >& ���&����� �� ���������#� ����� � ��� ��� #�0� �����# ������

Indítsa el a Qt Designert.File/New/C++ project/OKProject file: (Célkönyvtár megkeresése) words.pro OK

� � ;��� ��� �������0�� � ��� ���.�� .����".���#� ��������������� &�$��/ �.'/ ������� �,����� ����3� � ��� &���'/ �,�����.�� ��#"��� �������#�$�3 � ����� &����.'�

���)�� �����(����� *����+ ����#� ����� � �1�,����� �������#��3 C�"���:�� ���� #�0�#�

File/New/Widget/OKname: Formcaption: FormFile/Save As : form.ui

�=F� �#���������� I�� ;%� ��"��

Page 15: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

,������ ��(�������

����� � � ��� ����

�-��#H�G ��#H�G ��#B���� Z </ ��GB���� Z ;<

�-��"�� ��"�� ��#B���� Z </ ��GB���� Z ;<

�=�#��"�� ��#��"��

"�������� ���� ����� *%����+1. A Shift �billenty t lenyomva tartva jelölje ki az spinBox-ot és a slider-t, majd adja ki a Layout /

Lay Out Horizontally parancsot. A két elemet körbefoglaló piros keret jelzi az elemek"összetartozását". A Layout/ Break Layout paranccsal bármikor feloldhatja ezt a kapcsolatot.( �Érdemes megkeresni a parancsok mefelel jét az eszköztárban is.)

?� Most pedig jelölje ki a lineEdit szövegdobozt, valamint az � �el z ekben létrehozott, összetartozópiros keretet és adja ki a Layout/ Lay Out Verically parancsot.

3. Kattintson a teljes ablakra (MillMain), majd adja ki a Layout/Lay Out in Grid parancsot.

�������� �����(����� *����-���+

� �� �����.����#� ��� �,����� � ����# .����� ����� � ��� ��� �1������� � &���#�$��'/ ����� � �� >���#�������������# ���� #� �/ .��� �� �� �,��� �����# � �1�,����

File/New/C++ Main File(main.cpp)/OK/OK

#include <qapplication.h>#include "form.h"

int main( int argc, char ** argv ){ QApplication a( argc, argv ); Form w; w.show(); a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) ); return a.exec();}

� ��#���� �1�������,�# �� ��������:�,����� � 0���� ���� �# .������9� ��/ ��� �� �E��1"��/ ������ ,��� ���� ���������� &� �E,,� 0�����1 ��"�� ����� �E��1"��/ ���� �##�� �� �,���#�� � *�������!'� � ���#�$���������� ��#�� �� &-�0� � ��' � ��� ��� ���E#�0��,��

�=F� �#���������� I�� ;)� ��"��

Page 16: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

,������ )����������������9� ,� � ��0�� �E�, �� � (��� �����,��

Object Explorer/Members/Class Varibles/Private/Dupla kattintás/AddVariable: QString words[11]Access: private

� 0����3�� 0�#�����3 �"���� ����� ,����9� �� ^8= � �,�/ �����,1� �� )�� ���� � ��1 � ��������1 ��� �3"��� .������ ��� �� � �����.:,�#�

K����� �� ^8= ����3 � �,3�

<variables> <variable access="private">QString words[11];</variable></variables>

����.����*+ �#/��I����9� �� � ��0�� �E�, �� �#�$������3 �9��0�#���

A Project Overview ablakban válassza ki a Form � rlapot.Edit/Slots... / New Function

Function: initWords()Return type: voidSpecifier: non virtualAccess: privateType: function

� �9��0�#� "�����$�3 ,����9� �� ^8= � �,�/ �����,1� �� )�� ���� � ��1 � ��������1 ��� �3"�� � .������ ����� � �����.:,�#�

<functions> <function access="private" specifier="non virtual">initWords()</function></functions>

�� �#��@��"&' �9��0�#� �������#�$�3 �

void Form::initWords() {words[0] = "null";. . .words[10] = "ten";

}

����*+ �#/��� ��#������� ��#���� � � ;��� ��� ����"���� �� �, ����� ����� E������ 0����.� ��#"3 ����"������ � ������������� ! ���3"�,�# ��.�� ��.�����#�� �� � ���3"� �� �, ����� ����� E������ ��#"�# ���,�#�����������# ���.�03"���

A Project Overview ablakban válassza ki a Form � rlapot.Edit/Slots... / New Function

Function: init()Return type: voidSpecifier: virtualAccess: protectedType: function

�� �#��&' �9��0�#� �������#�$�3 �

�=F� �#���������� I�� ;4� ��"��

Page 17: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

void Form::init(){ spinBox->setMaxValue(10); //Beállítható a QtDesigner-ben is slider->setMaxValue(10); //Beállítható a QtDesigner-ben is

initWords(); spinBox->setValue(5);}

� ���������� �������� 0 ��������1

I��$�� �� E�� � ������ ���)�5��� �� ���! ��#� � � ����,�� ���-��)� ���! ��� 0��� _���#$�����$�� �� E�� � ����,�� ���)�5��� �� ���! ��#� � � ������ ���-��)� ���! ��� 0���

Edit/Connections/NewSender: sliderSignal: valueChanged(int)Receiver: spinBox Slot: setValue(int)

Edit/Connections/NewSender: spinBoxSignal: valueChanged(int)Receiver: slider Slot: setValue(int)

���� ���� )�/�������A Project Overview ablakban válassza ki a Form � rlapot.Edit/Slots... / New Function

Function: sayAsWord(int)Return type: voidSpecifier: virtualAccess: publicType: slot

4��!�2 ��5 ���! �� ������ ����� � ����� ��� � , � ������� ����� �*�*�� , ��2��� � ��� �������� ���0 6� �� ����� ��� ����,��� #����������� � ��#������ ����������� ��2�#�5 ����# �+������ � ��##��#��#��,�#���+ �����5��� �� ����������� ��2�5 �� 7�+� �8���� �# ���0

� �����2���&�#�' �������#�$�3 �

void Form::sayAsWord( int i){ lineEdit->setText(words[i]);}

�� �� ������� ����� � ������ *2����-���+

TEMPLATE = appINCLUDEPATH += .# InputHEADERS += form.ui.hINTERFACES += form.uiSOURCES += main.cpp

�=F� �#���������� I�� ;5� ��"��

Page 18: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

��������! ��������;� =����# � ����� ���E#�0��,�#�?� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &����� ����'��� � $���� �)��������� ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ����5 � � ��%� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���')� �)������ � ����������&=�#�G2 �*�����O @�#"�C2 �����'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$��C��" $���1��

?������� (������

������� �� � ��� ����� ���/ .��� � �� �E0��� ,���������� : .� 0�# �� �"��� �E0��.�� �� : � ���,��� � ����� �����������# �� �# � � ����"��� ��������

+�/��� 0� �� ���������� ���

�##�� ��1���9��� ��# ,���# .������.���#� ��� ��$�� E�������,, �������� ���������.��� I����9#� ����� ����# J_� ���������/ ����� ������ � � T=����# D# � ��������T ������

'���� � �����(����� ����#� ����� ��� >& ���&����� �� ���������#� ����� � ��� ��� #�0� �����# �����

Indítsa el a Qt Designert.File/New/C++ project/OKProject file: (Célkönyvtár megkeresése) mill.pro OK

���)�� *"���"���+ �����(�����

����#� ����� � �1�,����� �������#��3 C�"���:��'���'��� #�0�#�

5 � 8������� ��� ����# $���� � �/ ����� �� �"��� ��� ��� ������#�� �����"���/ E����������� 0�����

�=F� �#���������� I�� ;6� ��"��

Page 19: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

File/New/Widget/OKname: MillMain (ez a párbeszédablak elem azonosítója) caption: Legyen Ön is milliomos (a párbeszédablak cimkéje) File/Save As : millmain.ui (elfogadjuk a párbeszédablak �nevéb l származtatottfelajánlott nevet)

,������ ��(�������

������9� � � �1�,����� � 0�����1��� � ������ ,� � ���� "�#������

�3/���)�� *��4� 5���+

1. A Qt eszköztárából válassza ki a TextEdit eszközt, majd kattintson a MillMain ablakon aszövegdoboz tervezett helyének a környékére. (Az elemek percíz elrendezésével nem kell

�tör dnünk, mert a legvégén a „kattintgatásos” Layout technika segítségével majd szépenelrendezzük az elemeket. )

2. A Properties ablakban a Name �mez értéke legyen: text

,�� ��) *'��( 6�����+

(Common Widgets) PushButton eszközgomb, majd kattintás a a gomb várható helyére. Properties:

name: endButton pixmap: (elérési út) home.png (vagy akármilyen más kép)

%7& ������ *%7& ���)��+

(Display) LCD number eszközgomb Properties:

name: moneyValue numDigits: 9 minimumSize: height - 40, fontSize: size - 28

Megjegyzés: Ha azt szeretnénk, hogy az LCD �kijelz nk ne legyen aránytalanul nagy, akkor az�endButton és az LCD kijelz közé elhelyezhetünk egy "rugót, távtartót" (spacer) is .

� ���� �� ���#��� ������������ ���)������� *%����+1. A Shift �billenty t lenyomva tartva jelölje ki az endButton-t, a spacer-t és a moneyValueelemeket, majd adja ki a Layout / Lay Out Vertically parancsot.

2. Most pedig jelölje ki a text szövegdobozt, valamint az � �el z ekben létrehozott, összetartozó piroskeretet és adja ki a Layout/ Lay Out Horizontally parancsot.

8����� (��� *��4� %�)��+(Common Widgets) Text Label eszközgomb, majd kattintás a text szövegdoboz alá. Properties:

name: questionLabel text: (üres)hAlign: AlignHCenter vAlign: AlignVCenter frameShape: Box frameShadow: Sunken

� /������ 3�)�(������� ���� *6����� 9����+B����� �� � 5���������! ,)����?��)� ���E��/ � �� ��� �#� 0��� � ��,���"�,����# � ���"� �� ���/ �#��� 0���� �E�,����3/ .���0��1�����# ��������1 �����M �����������

�=F� �#���������� I�� ;7� ��"��

Page 20: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

Properties: name: ansGroup title: �Kattintson a megfelel válaszra!

%�(������ /������ *:���� 6�����+I����#��#� "���# � K�"�� H����# ���E���/ �� " ��#"�� ���� ��# #��� �����#��� ��E� 9� �� � #���0��� .����� � �����,�#� �� 0����� ,����#��M0�� T�#��" 9� ��T � K�"�� H����# ���E���

Properties: 1. válasz

name: ans1 text: �Els válasz

2. válasz name: ans2 text: Második válaz

3. válasz name: ans3 text: Harmadik válasz

4. válasz name: ans4 text: Negyedik válasz

5��������� *%����+�

1. A Shift �billenty t lenyomva tartva válasszuk ki rendre a négy Radio Button elemet, majd adjukki a Layout/Lay Out in Grid parancsot (van ilyen gomb is az eszközök között).

2. Kattintsunk a válaszokat tartalmazó keretre, majd ismét adjuk ki a Layout/Lay Out in Gridparancsot.

Megjegyzés: Ügyeljen arra, hogy a GroupButton-ban a rádió gombok sorrendje megegyezzen az ittmegadott sorrenddel. (A Qt Designerben, az Object Explorer/Members ablakban ilyen sorrendbenlegyenek a gombok.)

083/�� ���1 ��)

PushButton eszköz kiválasztása, majd kattintás a válasz blokk alá. Properties:

name: nextButton text: � Következ

�Helyezzünk el egy vízszintes “távtartót” (spacer) a Következ gomb elé.

�� ����� ���� ����������� � ���)������)�� ��

Kattintson a párbeszédablakra (csak a formra, ne valamelyik elemére), majd adja ki a Layout / LayOut Vertically parancsot, azaz rendezze a párbeszédablak elemeit vertikálisan.

� ���)������)�� #������� ����������A Ctrl+T �billenty k leütésével tesztelheti a párbeszédablak "küllemét". Figyelje meg mi történik azablak átméretezésekor. A párbeszédablak "Bezárás" gombjával fejezheti be a tesztelést. Szükségesetén bármikor törölhet egy-egy elrendezést (Layout/ Break Layout) és új elrendezést alakíthat ki.

�=F� �#���������� I�� ?<� ��"��

Page 21: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�� -�� ���� �������Ha elégedett a végeredménnyel, akkor mentse el a grafikus felület definícióját tartalmazómillmainbase.ui (ui: user interface) fájlt.

'� &� ��@�� 1 0�� ��2� ����2���� ��� � �#����� ����� ���#�� ���������� 9�: �!�/; �8#��0 6� �! �!�#;�*/��#���+/� ����������� �� � ��2���5 �*��!� #���#����� � ��#�� ��������� �! ���#5 � �����2��#���� ����2�������#�0 "�# ������ ��5 � �� �2������ � ��2� �*/��#; ����8���0 &����� � �!���� ������ � %� ����# ��*��� ����8����0

�������� �����(����� *����-���+

File/New/C++ Main File(main.cpp)/OK/OK

#include <qapplication.h>#include "millmain.h"

int main( int argc, char ** argv ){ QApplication a( argc, argv ); MillMain w; w.show(); a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) ); return a.exec();}

��������! ��������

;� =����# � ���� ���E#�0��,�#�?� � $���� %���&��� ����#$$�� ����� ��1 � �������� �9������# ��� ��� ����3 � �� &��������'��� � $���� �������� ����#$$�� ����� ��1 � ��� ��� �������� �9��1 ���� � � ��%� � ���� ����#$$�� ������� E�� � ��� ������ &B��� -��"�� ����# ����� ����#$$���')� �)������ � ���������� &=�#�G2 �*���� O @�#"�C2����'

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$������; $���1��

8��#��.�� 9� � �� �M�E"1 ���.��#�3� ���9����� &K�"�� H����#:�� ��0�����/ �� � �E0��"�,��,�/�3��� �����/ �,'/ "� ����������# � T�������T ��0���#����� ��� #�� ���"���.�� � �������/ .���#��� �������# T�������T ����"����� �� ��.���� ����

8��#��.�� 9� � ���������)� ������ (������� �������� �������.�� 9� ,�##� �� ���� ������� ��������/ �.��� �� ��#"��� ���� "�#����� &���������'/ �� ������ ����#"������

� ���0���� �� � ��� ��� ���E#�0��,�# ����.��3 � �����/ ����� ��� �� ��/ .��� � ���������)� � � ���� #0�����! &�� )�� 3 �# ���#��� ������#! �������� ��� ������������ � ��� ���������� � � �� ������ �� ����� � �������� ����,�# ������ 9� � ��� ���,� &���#�$��2 R�#$��"� T�������#�.T'� F����#� ��� ������3������ � ���3�������� � �� �� ������ � � ����� � ��� &��� ��2�� ������#' ��#��� �� ��� ����.��3����#�� � �9��0�#���#�� � "�����$�3 � � �������#�$�3 �/ ���������� ()���� ��"��� =! ��#���.��1� ������3",�# #�� ��,0#�� ��� #���0� ��������� "���#��� ���� #���0� �#����$�3�� F���������# ������ �� ����� � P���� ���E���� �����������# .����� �����/ � #�� ��,�" ` #�� ����� ` �E�0����#9� �3"����#��������

�=F� �#���������� I�� ?;� ��"��

Page 22: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�����/��� ;� � A�������" ���,�� 0����0� �" �� ��� � � �E0�����1 ���"�� &���%�������'� ��� � ���,�� $�� 30��� ����# ��.��# ��0�����#��

?� ��� 0��� ,� ��E��� ��# �����"����8� � 0��� .�������� &����1��#�����'

�� �� ���,)���� ��0�������� ���� �� �� � ���#��9� ��� �� ������ #������#�� &��<����'�

���� ���� )�/�������A Project Overview ablakban válassza ki a Form � rlapot.Edit/Slots... / New Function

Function: nextQuestion()Return type: voidSpecifier: virtualAccess: publicType: slot

� ����)������ ! �������#�$�3 �

void MillMain::nextQuestion( ){ qWarning( tr("MillMain::nextQuestion(): Not implemented yet" ));}

��#�3�# ������ ,� � $.�$��#C��&�#�' � �� �#"J���&' ������� � ��� ���,��

��������� ��������� ��������

#�G�H����#2

Edit/Connections/New�a szignál küld je (Sender): nextButton

a szignál fajtája (Signal) : clicked()�a szignál fogadására bejelentkez objektum (Receiver) : MillMain

�a szignált kezel metódus (Slot) : nextQuestion()

connect( nextButton, SIGNAL( clicked() ), this, SLOT( nextQuestion() ) );

���?��)��Edit/Connections/NewSender: ansGroup Signal: clicked(int) Receiver: MillMainSlot: checkAnswer(int)

$�##�$�& �#J����/ -�J+�=& $��$��"&�#�' '/ �.�/ -=UF& $.�$��#C��&�#�' ' 'O

�� ���� �"�3���,�� ����# ����#",�# ���9�#�� ,� � ���, $�����,�/ ������# ����#",�# ����"��� � ��>���#��,�#/ � �##�� ��������1�# ���#�� ���#���3� �� � ����#� �����#�#� �� ���#���3��� .�����#"��#�� ���,��.��/ ����� ��� �������,3� �� *�#� �H����#J����22�#��� & �H����# X ,����#/ �#� �" Z :; '! ���3"��������0�� 0��3��.�� �� ����

�=F� �#���������� I�� ??� ��"��

Page 23: people.inf.elte.hu munkafuzet.pdf · / 0 1 # # ' ) (" 2 ) ( " # $3

����� ���������� �� ������ ���� ��� � �� ����� ������� ���������� ������� ��

�#"H����#2Sender: endButton Signal: clicked() Receiver: MillMainSlot: endGame()

$�##�$�& �#"H����#/ -�J+�=& $��$��"&' '/ �.�/ -=UF& �#"J���&' ' 'O

����B���C ()������

� ��� ������ �� � ���������/ � ������#��#� � TIE0�����1T ���,��/ ����� � �����#� �,���,�# �D'���'��������)������ !� E�� ����������� ���=D :��� ��# ������ : 9��#���� ��� ��/ .���# ��� � �������� #�� �������#������

� � ���$������ ���.������ ��# ,������#��#� � �������#�$�� ����,�/ ����� ��� �������.�� �� ����$������ "������3 ������� �9��0�#������

// signals and slots connections connect( nextButton, SIGNAL( clicked() ), this, SLOT( newQuestion() ) ); connect( ansGroup, SIGNAL( clicked(int) ), this, SLOT( checkAnswer(int) ) ); connect( endButton, SIGNAL( clicked() ), this, SLOT( endGame() ) );

F���������# ����������)� � ��#� � ��,109�� ���/ � ���$�������� ����3 ,�������

<connection> itt van a kapcsolatot leíró információ </connection>

� ���#���9� � ���������� .��"�� � ��/ ����� ��� �� ��/ .��� � ��� ,�0������� ����� ����)���� (8 �@���������� ��.��10� ����9�/ .��� �� �������,3� ���������� � �,, ��������� .����#� �����/ �.�� �� ��� "���#���������� ���9� ��.�� ��#��

� ������� ���E��.��1 � ��������#�������.��#�$���������� �$������; $���1��

� ����� �������#�$�3 � � �E0�����1 ��#���9���,�# �" �� ����

�=F� �#���������� I�� ?�� ��"��