[Interest] A suggestion about replacing signals, actions and slots
Dan White
ygor at comcast.net
Thu Dec 27 15:44:41 CET 2012
Now read this, please :
http://www.qtcentre.org/threads/51888-using-function-pointers-and-callback-functions
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Bill Waterson (Calvin & Hobbes)
----- Original Message -----
From: "Oleg Yarigin" <dralife at yandex.ru>
To: interest at qt-project.org
Sent: Thursday, December 27, 2012 9:35:33 AM
Subject: [Interest] A suggestion about replacing signals, actions and slots
Hello,
I read http://byuu.org/articles/qt and got a question, why Qt uses slots and signals? That stuff can be safe replaced with function pointers. I am sure, it can give some advantages.
For instance, for now we need to use something like this to connect callbacks (actions):
connect( <a>, <a`s action>, <b>, <b`s slot> );
then we use moc, Q_OBJECT macro and special "slots:" class section.
I hope, this stuff can be better (with a way below we do not need to use moc, qmake and have an overhead in Qt library):
Action holder:
class QWidget
{
public:
void QObject::* slotFoo ( int, int, void* );
void QObject::* eventClose ( QCloseInfo* );
}
QWidget::WidgetNeedsToCallAMethod()
{
if( slotA ) slotFoo( 12, 15 );
}
Slot holder:
class OurClass : public QMainWindow
{
void createAction()
{
QAction a();
a.slotA = eventClose(); //Instead of connect() function
}
public:
void eventClose ( int a, int b ){ ... }
}
What do you think about it? If you are agree, I will create a new brunch in Qt repo for making these changes.
------
Oleg.
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
More information about the Interest
mailing list