Skip to Content
Programming with Qt, 2nd Edition
book

Programming with Qt, 2nd Edition

by Matthias Kalle Dalheimer
January 2002
Beginner to intermediate
522 pages
14h 36m
English
O'Reilly Media, Inc.
Content preview from Programming with Qt, 2nd Edition

Chapter 17. Advanced Signals and Slots

In this chapter, we’ll cover more topics concerning signals and slots. In the first section, we’ll look at additional methods of connecting signals to slots, and afterwards we will show you some useful tricks to help you get even more out of signals and slots. We also cover actions here that are not the same as signals and slots, but serve the same purpose, such as connecting user interaction to program functionality.

Signals and Slots Revisited

You have already learned the basics about signals and slots in Chapter 2, but there are a few things we haven’t told you yet. You probably won’t need this information very often, but it can come in handy from time to time.

First, you do not need to use the static method QObject::connect() when you are in a method of a class derived from QObject (which is usually the case when you program with Qt). So, instead of writing:

QObject::connect( myslider, SIGNAL( valueChanged( int ) ), 
                  mylcdnum, SLOT( display( int ) ) );

you could write:

connect( myslider, SIGNAL( valueChanged( int ) ), 
         mylcdnum, SLOT( display( int ) ) );

if this code is located in a method of a class derived from QObject. Apart from having fewer characters to type, you don’t save anything here, though.

To save even more typing, you can also leave out the receiver if the code is in a method of the object that is to receive the signal.

For example, you could write the following:

class MyLCDNum : public QLCDNumber { ... } MyLCDNumber::MyLCDNumber( ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++ GUI Programming with Qt 4

C++ GUI Programming with Qt 4

Jasmin Blanchette, Mark Summerfield
C++ GUI Programming with Qt 4

C++ GUI Programming with Qt 4

Jasmin Blanchette, Mark Summerfield

Publisher Resources

ISBN: 0596000642Supplemental ContentErrata Page