You Are Here:

Community: Wiki

This page was last modified on 1 November 2009, at 13:30.

Dynamic Layout handling with QWidget in Qt for Symbian

From Forum Nokia Wiki

Reviewer Approved   



ID ... Creation date 10 April 2009
Platform S60 3rd Edition FP1, S60 3rd Edition FP2, S60 5th Edition Tested on devices S60 Emulator
Category Qt for Symbian Subcategory


Keywords (APIs, classes, methods, functions): Q


Preconditions

Dynamic Layout handling with QWidget

To be able to catch the layout change event, you first need to install event filter, which will give you then the events when layout changes happen. This can be done for example in the main.cpp, in where you can use installEventFilter function of the QApplication to install a filter, for example like this:

QApplication a(argc, argv);
QtEggAlarm w;
a.installEventFilter(&w);

The event filter class then needs to implement eventFilter function which will then be called when events happen. For layout changes a QEvent::Resize event will be generated, thus you could catch the event in the event filter as follows:

bool QtEggAlarm::eventFilter(QObject* /*receiver*/, QEvent* event)
{
if(event->type() == QEvent::Resize)
{
SetScreenSizeAndPosition();
return true;
}
 
 
return false;
}

Note that if the return value is false, then the event will be given to other filters, and if it is true, it will not be forwarded to other components.

Then If you want to Widget to fill the whole client area in S60 device, the SetScreenSizeAndPosition function could be implemented as follows:

void QtEggAlarm::SetScreenSizeAndPosition(void)
{
setGeometry(QApplication::desktop()->availableGeometry());
}


Screen shots

Image:QEggAlarm_1.JPG Image:QEggAlarm_2.JPG


Example project

QtEggAlarm.zip

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fTalkE3aE4cargeE5fscreenE5fsaverX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ