View Full Version : signals for key presses ?
eGamer
9th June 2009, 07:59
i have a QWidget object and want to add handlers for some key presses, the traditional way
is to inherit QWidget and reimplement the virtual funcitons, my question is: can i add
event handlers without inheriting QWidget ?
is there signals for keyboard events ?:confused:
spirit
9th June 2009, 08:17
you can set event filter on you widget and process QKeyEvent.
take a look at QObject::installEventFilter and QObject::eventFilter.
eGamer
9th June 2009, 08:34
Thank you,this solution is based on inheriting QObject, but i don't want to use inheritance.
spirit
9th June 2009, 08:36
what do you want to achive? give us more information.
eGamer
9th June 2009, 09:04
here is the code:
int main(int argc,char** args)
{
QApplication a(argc, argv);
QSplitter* splitter = new QSplitter();
QDirModel* model = new QDirModel();
QTreeView* tree = new QTreeView(splitter);
tree->setModel(model);
tree->setRootIndex( model->index( QDir::currentPath() ) );
QListView* lview = new QListView(splitter);
lview->setModel(model);
lview->setRootIndex( model->index(QDir::currentPath()) );
QStringList* stringList = new QStringList( QString("item 0") );
for (int i = 1;i<10;i++)
stringList->append( QString("item %1").arg(i) );
StringListModel* myCustomModel = new StringListModel(*stringList);
QTreeView* view3 = new QTreeView(splitter);
view3->setModel(myCustomModel);
splitter->show();
return a.exec();
}
as i press enter i want to add new string to stringList and reflect the changes to the view.
spirit
9th June 2009, 09:08
I don't see a problem. create a new widget and put your splitter on it, then install event filter on needed widget and process key event.
eGamer
9th June 2009, 09:12
Yes i tried it and it works, thank you. :)
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.