A slot is a function that is called in response to a particular signal. Qt's widgets have many predefined signals, but we can always subclass widgets to add our own signals to them. ![]() A signal is emitted when a particular event occurs. In Qt, we have an alternative to the callback technique: We use signals and slots. While successful frameworks using this method do exist, callbacks can be unintuitive and may suffer from problems in ensuring the type-correctness of callback arguments. The processing function then calls the callback when appropriate. A callback is a pointer to a function, so if you want a processing function to notify you about some event you pass a pointer to another function (the callback) to the processing function. Other toolkits achieve this kind of communication using callbacks. For example, if a user clicks a Close button, we probably want the window's close() function to be called. More generally, we want objects of any kind to be able to communicate with one another. ![]() In GUI programming, when we change one widget, we often want another widget to be notified. Signals and slots are made possible by Qt's meta-object system. The signals and slots mechanism is a central feature of Qt and probably the part that differs most from the features provided by other frameworks. Signals and slots are used for communication between objects.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |